¿Cuáles son las características de Java?
§ 1.2 Características de Java
Java es un lenguaje de programación de redes ampliamente utilizado y un nuevo concepto informático.
En primer lugar, como lenguaje de programación, es simple, orientado a objetos, independiente de la estructura de la máquina,
portátil, robusto, seguro y proporciona un mecanismo de concurrencia y rendimiento alto. En segundo lugar, maximiza el uso de la red. El subprograma de Java se puede transmitir en la red sin estar restringido por la CPU y el entorno. Además, Java también proporciona una rica biblioteca de clases para que los programadores puedan construir fácilmente sus propios sistemas.
A continuación analizaremos las características de Java desde estos tres aspectos y luego señalaremos sus ventajas comparando Java con C y
C.
1. Lenguaje Java
El lenguaje Java tiene las siguientes características: simplicidad, ejecución orientada a objetos, distribuida, interpretada, robustez,
seguridad y arquitectura. Neutral, portátil, de alto rendimiento, multiproceso y dinámico.
: 1. Simplicidad
El lenguaje Java es un lenguaje orientado a objetos que proporciona los métodos más básicos para completar tareas específicas
Sólo una vez que se entienden algunas. conceptos básicos, puede usarlo para escribir aplicaciones que sean adecuadas para diversas situaciones.
Java omite conceptos confusos como la sobrecarga de operadores y la herencia múltiple, y simplifica enormemente el trabajo de gestión de la memoria del programador mediante la implementación de la recolección automática de basura. Además, Java también es adecuado para ejecutarse en minicomputadoras. Su intérprete básico y su soporte de clases son de solo 40 KB. Además, la biblioteca de clases estándar y el soporte de subprocesos son de solo
aproximadamente 215 KB. La compatibilidad con bibliotecas y subprocesos es de solo 215 KB.
2. Orientado a objetos
El diseño del lenguaje Java se centra en los objetos y sus interfaces. Proporciona un mecanismo de clase simple y un modelo de interfaz
dinámico. . El objeto encapsula sus variables de estado y sus métodos correspondientes, logrando modularización y ocultación de información
mientras que la clase proporciona el prototipo de una clase de objetos y, a través del mecanismo de herencia, las subclases pueden usar la clase principal
; >Los métodos proporcionados realizan la reutilización del código.
3. Distribución
Java es un lenguaje orientado a redes. A través de la biblioteca de clases que proporciona, se puede procesar el protocolo TCP/IP y los usuarios pueden acceder fácilmente a otros objetos en la red a través de direcciones URL.
4. Robustez
Cuando Java compila y ejecuta programas se deben comprobar posibles problemas para eliminar errores
. Proporciona recolección automática de basura para la administración de la memoria, lo que evita que los programadores cometan errores al administrar la memoria. A través del mecanismo integrado de manejo de excepciones orientado a objetos, durante la compilación, Java genera excepciones que pueden ocurrir pero que no han sido manejadas, lo que ayuda a los programadores a tomar decisiones correctas para evitar fallas del sistema. Además,
Java también puede detectar muchos errores comunes en las declaraciones de tipos durante la compilación para evitar problemas de discrepancia en el tiempo de ejecución dinámico
.
5. Seguridad
Java utilizado en entornos distribuidos y de red debe evitar la intrusión de virus. Java no admite punteros.
Todo acceso a la memoria debe lograrse a través de las variables de instancia del objeto. Esto evita que los programadores utilicen medios engañosos como
caballos "Troyanos" para acceder. los miembros privados del objeto también evitan errores que son fáciles de ocurrir en las operaciones de puntero.
6. Arquitectura neutral
El intérprete de Java genera instrucciones de código de bytes que son independientes de la arquitectura, siempre que el tiempo de ejecución de Java esté instalado.
Sistema, programa Java Puede ejecutarse en cualquier procesador. Estas instrucciones de código de bytes corresponden a la representación en la máquina virtual Java. Después de que el intérprete de Java obtiene el código de bytes, lo convierte para que pueda usarse en diferentes plataformas
ejecutar.
7. Portabilidad
La función independiente de la plataforma permite trasplantar fácilmente los programas Java a diferentes máquinas en la red.
Al mismo tiempo, las bibliotecas de clases Java también implementan interfaces con diferentes plataformas, lo que hace que estas bibliotecas de clases sean portátiles. Además, el compilador de Java está implementado en el lenguaje Java y el sistema de ejecución de Java está implementado en el estándar C, lo que hace que el sistema Java sea portátil.
8. Interpretación y ejecución
El intérprete de Java interpreta y ejecuta directamente el código de bytes de Java. El propio código de bytes contiene mucha información en tiempo de compilación, lo que simplifica el proceso de conexión.
9. Alto rendimiento
A diferencia de otros lenguajes interpretados y ejecutados como BASIC y TCL, el código de bytes de Java está diseñado para
convertirse fácil y directamente en máquina. código correspondiente a una CPU específica, obteniendo así un mayor rendimiento.
10. Subprocesos múltiples
El mecanismo de subprocesos múltiples permite que las aplicaciones se ejecuten en paralelo y el mecanismo de sincronización garantiza el correcto funcionamiento de los datos compartidos
. Al utilizar subprocesos múltiples, los programadores pueden usar diferentes subprocesos para completar
comportamientos específicos sin utilizar un mecanismo de bucle de eventos global, de modo que sea fácil implementar operaciones prácticas en la red
interactiva. comportamiento.
11. Dinamismo
El diseño de Java lo hace adecuado para un entorno en constante evolución. Se pueden agregar libremente nuevos métodos y variables de instancia a la biblioteca de clases sin afectar la ejecución del programa de usuario. Y Java admite herencia múltiple a través de interfaces, lo que lo hace más flexible y extensible que la herencia de clases estricta.
2. Java Applet
Las características del lenguaje Java le permiten maximizar el uso de la red. Ap-plet es una pequeña aplicación Java. Es una aplicación de red dinámica, segura y multiplataforma. El subprograma Java está integrado en lenguaje HTML y se publica en Internet a través de la página de inicio. Cuando los usuarios de la red acceden a los Applets del servidor, estos
se transmiten desde la red y luego se ejecutan en un navegador habilitado para Java. Debido al mecanismo de seguridad del lenguaje Java, una vez que el usuario carga el Applet, puede generar de forma segura una interfaz de usuario multimedia o completar cálculos complejos sin preocuparse por la intrusión de virus. Aunque el Applet se puede descargar de Internet como imágenes, sonidos, animaciones, etc., se diferencia de estos formatos de archivos multimedia en que puede recibir entradas del usuario y realizar cambios de forma dinámica, no solo la visualización. animaciones y reproducción de sonidos.
3. Biblioteca de clases enriquecida
Java proporciona una gran cantidad de clases para satisfacer las necesidades de sistemas en red, multiproceso y orientados a objetos.
1. El soporte proporcionado por el paquete de lenguaje incluye procesamiento de cadenas, procesamiento de subprocesos múltiples, procesamiento de excepciones, procesamiento de funciones matemáticas, etc.
Puede usarlo para implementar simplemente la ejecución. Plataforma de programas Java.
2. El paquete de utilidades proporciona soporte que incluye tablas hash, pilas, matrices de variables, hora y fecha, etc.
3. Los paquetes de entrada y salida utilizan un modelo de "flujo" unificado para implementar E/S en todos los formatos, incluidos sistemas de archivos,
redes y entradas
<. p>4. El paquete de red de bajo nivel se utiliza para implementar la programación de Socket.5. El paquete de interfaz gráfica de usuario abstracta implementa los componentes de la interfaz gráfica de usuario de computadoras en diferentes plataformas,
incluidas ventanas, menús, barras de desplazamiento, cuadros de diálogo, etc., de modo que Java se puede trasplantar a máquinas en diferentes plataformas.
6. El paquete de red admite el protocolo TCP/IP de Internet y proporciona una interfaz con Internet.
Admite conexiones URL, acceso instantáneo a la WWW y simplifica la programación en el modelo usuario/servidor.
4. Java y C, C
Para declaración de variables, paso de parámetros, operadores, control de flujo, etc., Java utiliza los mismos métodos que C y C
La tradición facilita la programación a los programadores que están familiarizados con C y C. Al mismo tiempo, para lograr su simplicidad, robustez, seguridad y otras características, Java también ha abandonado muchos contenidos irrazonables en C y C.
1. Variables globales
En los programas Java, las variables globales no se pueden definir fuera de todas las clases. Solo se pueden definir en una clase
variable pública y estática. para implementar una variable global. Por ejemplo:
Clase GlobalVar{
public static global_var
}
Defina la variable global_var en la clase GlobalVar como public stat-ic. , para que otras clases
puedan acceder y modificar la variable.
Java proporciona una mejor encapsulación de variables globales. En C y C, depender de variables globales no encapsuladas a menudo provoca fallos del sistema.
2.Goto
Java no admite la instrucción goto en C o C, pero reemplaza C con declaraciones de manejo de excepciones try, Catch,
final, etc. . Goto se utiliza en C para manejar saltos cuando se encuentran errores, lo que hace que el programa sea más legible
y más estructurado.
3. Punteros
Los punteros son el tipo de datos más flexible en C y C y también son el tipo de datos más propenso a errores. Las operaciones de dirección de memoria realizadas por punteros a menudo causan errores impredecibles. Al mismo tiempo, después de la conversión de tipo explícita de una determinada dirección de memoria a través de un puntero, puede acceder a un miembro privado de C, violando así la seguridad y provocando una falla del sistema.
. Java tiene control total sobre los punteros y los programadores no pueden realizar directamente ninguna operación de puntero, como convertir números enteros en punteros o liberar una determinada dirección de memoria a través de un puntero. Al mismo tiempo, las matrices se implementan como clases en Java, lo que resuelve efectivamente el error de acceso a la matriz fuera de los límites en C y C sin verificación.
4. Gestión de la memoria
En C, los programadores asignan y liberan memoria a través de las funciones de biblioteca malloc() y free(). En C
La memoria se asigna. y lanzado a través de operadores nuevos y eliminados. Liberar nuevamente bloques de memoria liberados o
bloques de memoria no asignados provocará que el sistema falle; de manera similar, olvidarse de liberar bloques de memoria que ya no se utilizan
también se agotará gradualmente. . En Java, todas las estructuras de datos son objetos y el montón de memoria se les asigna a través del operador nuevo
.
Los derechos de procesamiento del objeto se obtienen a través de nuevos, y la memoria realmente asignada al objeto puede cambiar a medida que se ejecuta el programa. Java administra esto automáticamente y realiza la recolección de basura, evitando efectivamente que el problema sea causado por.
Errores causados por el mal funcionamiento de los programadores y hacer un mejor uso de los recursos del sistema.
5. Compatibilidad con tipos de datos
En C y C, para diferentes plataformas, el compilador admite tipos de datos simples como int, float
etc. longitudes de bytes respectivamente, por ejemplo: int es de 16 bits en IBM PC y 32 bits en VAX-11, lo que conduce a la no portabilidad del código, pero en Java, a estos tipos de datos siempre se les asigna una longitud fija de dígitos. Por ejemplo, para el tipo int, siempre ocupa 32 bits, lo que garantiza la independencia de la plataforma de Java.
6. Conversión de tipos
En C y C, la conversión de tipos arbitraria se puede realizar mediante punteros, lo que a menudo conlleva inseguridad.
En Java, el sistema de tiempo de ejecución. debe realizar comprobaciones de compatibilidad de tipos al procesar objetos para evitar conversiones inseguras
.
7. Archivos de encabezado
Los archivos de encabezado se utilizan en C y C para declarar prototipos de clases, variables globales, funciones de biblioteca, etc. En sistemas grandes
, mantener estos archivos de encabezado es difícil. Java no admite archivos de encabezado. Los tipos y permisos de acceso de los miembros de la clase están encapsulados en una clase. El sistema de ejecución controla el acceso para evitar la manipulación de miembros privados.
hacer. Al mismo tiempo, la declaración de importación se utiliza en Java para comunicarse con otras clases para utilizar sus métodos.
8. Estructuras y sindicatos
Todos los miembros de las estructuras y sindicatos de C y C son públicos, lo que trae consigo problemas de seguridad.
Java no contiene estructuras ni uniones, y todo está encapsulado en clases.
9. Preprocesamiento
El código implementado utilizando definiciones de macros en C y C trae dificultades a la legibilidad del programa. En Java
, las macros no son compatibles. Declara una constante mediante la palabra clave final para implementar la definición de constante ampliamente utilizada en las definiciones de macros.