JavaNote: descripción general e instalación

1. Descripción general del lenguaje Java

1.1 Descripción general de Java

  • Es un lenguaje de programación de alto nivel lanzado por (Stanford University Network Company) en 1995 SUN.Stanford University Network

  • Es un 面向Internetlenguaje de programación. Inicialmente, Java resultó atractivo porque los programas Java podían ejecutarse en un navegador web. Estos programas Java se denominan subprogramas Java (Applets) y están integrados en código HTML.

  • Con el rápido desarrollo de Internet y la continua madurez de la tecnología Java en la web, se ha convertido en el lenguaje de desarrollo preferido para aplicaciones web.

1.2 Una breve historia del lenguaje Java

Etapa inicial:

En 1991, un equipo de ingenieros de Sun quiso diseñar un lenguaje que pudiera usarse en el control y comunicación de electrodomésticos. Dado que estos dispositivos tienen capacidad de procesamiento y memoria limitadas, y diferentes fabricantes eligen diferentes unidades centrales de procesamiento (CPU), la clave de este lenguaje es: 代码短小、紧凑且与平台无关.

El equipo de Gosling tomó la iniciativa en la creación de este lenguaje y lo llamó "Oak". Más tarde, debido a que la demanda del mercado de electrodomésticos inteligentes no era tan alta como se esperaba, Sun abandonó el plan.

Con el desarrollo de Internet en la década de 1990, Sun descubrió las posibilidades de utilizar el lenguaje en Internet, por lo que transformó Oak y lo lanzó oficialmente con el nombre de Java en mayo de 1995.

etapa de desarrollo:

Versión de lanzamiento hora de publicación Observación
Java 1.0 1996.01.23 Sun lanza el primer kit de desarrollo para Java
Java 1.1 1997.02.19 Se llevó a cabo la conferencia JavaOne, creando la conferencia más grande de su tipo en el mundo en ese momento.
Java 1.2 1998.12.08 Java se divide en: J2SE (Edición estándar), J2EE (Edición empresarial), J2ME (Edición pequeña)
Java 1.3 2000.05.08
Java 1.4 2004.02.06
Java 5.0 2004.09.30 ①El número de versión se actualiza directamente de 1.4 a 5.0; ②La plataforma pasa a llamarse JavaSE, JavaEE y JavaME.
Java 6.0 2006.12.11 2009.04.20 Oracle anunció la adquisición de SUN
2009.04.20 Oracle adquirió SUN y el precio de la transacción 74亿fue en dólares estadounidenses.
Java 7.0 2011.07.02
Java 8.0 2014.03.18 Esta versión es el mayor cambio desde Java 5.0. Es una versión de soporte a largo plazo (LTS)
Java 9.0 2017.09.22 ① A partir de esta versión, se actualizará cada seis meses ; ② Java 9.0 ya no será compatible con sistemas Windows de 32 bits.
Java 10.0 2018.03.21
Java 11.0 2018.09.25 El paquete de instalación JDK cancela el paquete de instalación JRE independiente y es una versión de soporte a largo plazo (LTS)
Java 12.0 2019.03.19
... ...
Java 17.0 2021.09 Se lanza Java 17.0, número de versión también conocido como 21.9, que es una versión de soporte a largo plazo.
... ...
Java 19.0 2022.09 Se lanza Java 19.0, el número de versión también se llama 22.9.
... ...

Suplemento: Padre de Java-James Gosling

imagen

James Gosling es mundialmente conocido como el "padre de la tecnología Java". Es el fundador de la tecnología Java, diseñó personalmente el lenguaje Java y desarrolló el compilador Java y la máquina virtual Java, lo que convirtió a Java en el lenguaje de desarrollo más popular del mundo.

James Gosling se unió a Sun en 1984 y continuó trabajando en Sun hasta aproximadamente 2010, cuando Sun fue adquirida por Oracle y se unió a Oracle como director de tecnología del grupo de software para clientes; renunció a Oracle en abril de 2010.

1.3 Plataforma del sistema de tecnología Java

  • Java SE (Edición estándar de Java) Edición estándar
    • Admite la plataforma Java para aplicaciones de nivel de escritorio (como aplicaciones en Windows), es decir 定位个人计算机的应用开发.
    • Incluyendo interfaces de interfaz de usuario AWT y Swing, funciones de red e internacionalización, capacidades de procesamiento de imágenes, soporte de entrada y salida, etc.
    • Esta versión se conocía anteriormente como J2SE.
  • Java EE (Java Enterprise Edition) Edición empresarial
    • Un conjunto de soluciones proporcionadas para desarrollar aplicaciones en un entorno empresarial, es decir 定位在服务器端的Web应用开发.
    • JavaEE es una extensión de JavaSE que agrega bibliotecas de clases para el desarrollo de servidores. Por ejemplo: Servlet puede ampliar las funciones del servidor y manejar solicitudes de clientes a través del modelo de solicitud-respuesta; JSP es una tecnología que puede incrustar código de programa Java en una página web.
    • versión anteriormente conocida como J2EE
  • Java ME (Java Micro Edition) versión pequeña
    • Una plataforma que admite programas Java que se ejecutan en terminales móviles (teléfonos móviles, decodificadores), es decir 定位在消费性电子产品的应用开发.
    • JavaME es una extensión de JavaSE, que optimiza la biblioteca de clases principal de JavaSE y también proporciona sus propias clases de extensión. Se agregaron bibliotecas de clases adecuadas para microdispositivos: javax.microedition.io.*, etc.
    • Esta versión se conocía anteriormente como J2ME.

imagen

Nota: el desarrollo de Android no es equivalente al desarrollo de Java ME.

2. Configuración del entorno de desarrollo Java

2.1 ¿Qué son JDK y JRE?

  • JDK (Java Development Kit): es un conjunto de herramientas de desarrollo de programas Java que contiene JRE herramientas utilizadas por los desarrolladores.
  • JRE (Java Runtime Environment): es el entorno de ejecución de los programas Java, incluido JVM lo que se necesita para el tiempo de ejecución 核心类库.

La siguiente es la plataforma Java 8.0:

imagen

imagen

2.2 Selección de versión JDK

  • Ba Ye Party : Cíñete a la posición de Java: aunque Java ha entrado en los años 20, sigue siendo la posición principal de algunos entornos de desarrollo.
  • Partido Revolucionario : Adaptarse para aceptar la nueva versión estable. Brindando a los desarrolladores una experiencia más conveniente y eficiente. Por ejemplo:
    • G1收集器: El algoritmo GC más popular. El recopilador G1 en Java 11 y versiones posteriores es el GC predeterminado, pero no en Java 8.
    • 框架反推着开发人员使用更高的版本. Antes del lanzamiento oficial de Java 17, el marco de desarrollo de Java Spring anunció por primera vez en su blog oficial que Spring Framework 6 y Spring Boot 3 planean lograr una base de disponibilidad general de alto nivel en el cuarto trimestre de 2022. Esto significa que springboot3.0 debe basarse en java17 y spring6.0. Si elige la última versión de springboot3.0 como arquitectura empresarial, debe ser estándar con jdk17.

2.3 Descarga de JDK

  • URL de descarga (sitio web oficial de Oracle): www.oracle.com
  • Pasos de descarga: como se muestra en la imagen, seleccione Desarrolladores en la parte inferior del sitio web oficial

imagen

(1) En la sección de clasificación técnica en el medio de la página de Desarrolladores, seleccione Javay haga clic para ingresar, como se muestra en la figura:

imagen

(2) Lo que se muestra aquí es la última versión de Java, como Java20. Desplácese hacia abajo hasta la columna Java SE. Haga clic Download Oracle JDKy seleccione una versión específica para descargar.

imagen

imagen

(3) Después de seleccionar el botón Descargar Oracle JDK, ingrese a la interfaz Descargar Java. Seleccione la versión correspondiente y haga clic en el enlace de descarga para descargar.

imagen

(4) Si desea instalar la versión Java 8, puede continuar desplazándose hacia abajo hasta la siguiente ubicación en la página actual:

imagen

(5) Seleccione Aceptar acuerdo de licencia y haga clic en Descargar.

imagen

(6) Descargar después de registrarse o iniciar sesión:

(7) Si necesita instalar otras versiones históricas, puede elegir  Java archive:

imagen

Luego elige descargar.

2.4 Instalación de JDK

  • Notas de instalación
    • Instalación infalible, solo da el siguiente paso.
    • Recomendación: la ruta de instalación no debe contener símbolos especiales como caracteres chinos o espacios.
    • Tome la versión JDK17 como ejemplo.
  • Pasos de instalación:

(1) Haga doble clic en jdk-17_windows-x64_bin.exeel archivo y haga clic en Siguiente, como se muestra en la figura:

imagen

(2) Modifique la ruta de instalación y haga clic en Cambiar, como se muestra en la figura:

imagen

(3) Modifique la ruta de instalación D:\develop_tools\jdk\jdk-17.0.2\y haga clic en Siguiente, como se muestra en la figura:

imagen

(4) Después de unos segundos, la instalación se completa, como se muestra en la figura:

imagen

imagen

2.5 Configurar la variable de entorno de ruta

¿Por qué configurar la ruta?

  • La variable de entorno de ruta es la ruta que busca el sistema operativo de ventana al ejecutar un comando.
  • Se espera que cuando se utilizan javac.exeotras herramientas en la línea de comandos, el directorio donde se encuentra la herramienta se pueda encontrar en cualquier directorio.

Plan de configuración JDK8: configurar JAVA_HOME+ruta (recomendado)

  • paso:

(1) Abra la computadora en el escritorio, búsquela a la izquierda después de ingresar 计算机, haga clic con el mouse 右键y seleccione 属性, como se muestra en la figura:

imagen

(2) Seleccione 高级系统设置, como se muestra en la figura:

imagen

(3) 高级Haga clic en la pestaña 环境变量, como se muestra en la figura:

imagen

(4) En 系统变量, haga clic 新建 para crear una nueva variable de entorno, como se muestra en la figura:

imagen

(5) Ingrese el nombre de la variable JAVA_HOME, ingrese el valor de la variable  D:\develop_tools\jdk\jdk1.8.0_271 y haga clic en 确定, como se muestra en la figura:

imagen

(6) Seleccione Path la variable de entorno, 双击o 点击编辑 , como se muestra en la figura:

imagen

(7) Escriba al frente del valor de la variable %JAVA_HOME%\bin. como muestra la imagen:

imagen

Nota: ¡Se recomienda encarecidamente declararlo %JAVA_HOME%\binal frente de todas las variables en la variable de entorno de ruta !

(8) Una vez completada la configuración de la variable de entorno, reiniciejavac la línea de comando de DOS, ingrese el comando  o javao en cualquier directorio java -versiony la operación será exitosa.

Configure classpath, que se utiliza para especificar la ruta para el reconocimiento del archivo de clase. De hecho, no es necesario.

El resumen es el siguiente:

imagen

Solución de configuración JDK17: configuración automática

Después de instalar JDK17, debemos configurar la variable de entorno de ruta de la misma manera que JDK8. Sin embargo, descubrimos que después de instalar JDK17 y antes de configurar las variables de entorno, ejecute el comando CMD:

imagen

¡Funcionó! Y es la versión 17.0.2. Porque JDK17 configura automáticamente las variables de entorno después de la instalación. como sigue:

imagen

Se recomienda aquí establecer la ruta de instalación de JDK17 JAVA_HOMEy %JAVA_HOME%\binmoverla al primer lugar.

imagen

imagen

3. Documentación de la API de Java

  • API (Interfaz de programación de aplicaciones, interfaz de programación de aplicaciones) es la interfaz de programación básica proporcionada por Java.

  • El lenguaje Java proporciona una gran cantidad de clases básicas, por lo que Oracle también proporciona la documentación correspondiente para estas clases básicas para indicar a los desarrolladores cómo usar estas clases y los métodos contenidos en estas clases. La introducción de clases en la mayoría de los libros de Java debe completarse con referencia a él, es un recurso que los programadores consultan con frecuencia.

  • La documentación de la API de Java es el manual de instrucciones y la documentación de ayuda del JDK. Similar a un diccionario.

  • Descargue la documentación de la API:

4. Mecanismo central de Java: JVM

4.1 Ventajas y desventajas del lenguaje Java

4.1.1 Ventajas

  • Multiplataforma: esta es la principal ventaja de Java. Java fue diseñado originalmente con gran énfasis en la portabilidad y la funcionalidad multiplataforma. Por ejemplo: el int de Java es siempre de 32 bits. A diferencia de C++, que puede ser 16 o 32, puede cambiar según las regulaciones del fabricante del compilador.

    • Las aplicaciones escritas en lenguaje Java pueden ejecutarse en diferentes plataformas del sistema. " Write once , Run Anywhere".
    • Principio: simplemente instale una máquina virtual Java (JVM, Java Virtual Machine) en el sistema operativo que necesita ejecutar aplicaciones Java. La JVM es responsable de ejecutar programas Java en el sistema.
  • Orientado a objetos: La orientación a objetos es una tecnología de programación, muy 适合大型软件的设计和开发. La programación orientada a objetos admite funciones como encapsulación, herencia y polimorfismo, lo que permite que los programas cumplan mejor con 高内聚los estándares 低耦合.

  • Robustez: absorbe las ventajas del lenguaje C/C++, pero elimina las partes que afectan la solidez del programa (como punteros, aplicación y liberación de memoria, etc.) y proporciona un mecanismo de acceso y administración de memoria relativamente seguro.

  • Alta seguridad: Java es adecuado para entornos de red/distribuidos y necesita proporcionar un mecanismo de seguridad para evitar ataques de códigos maliciosos. Por ejemplo: 安全防范机制(cargador de clases ClassLoader), se pueden asignar diferentes espacios de nombres para evitar el reemplazo de clases locales con el mismo nombre y la inspección del código de bytes.

  • Simplicidad: Java es la sintaxis de C++ 简化版, también podemos llamar a Java " C++--". Por ejemplo: archivos de encabezado, aritmética de punteros, estructuras, uniones, sobrecarga de operadores, clases base virtuales, etc.

  • alto rendimiento:

    • En su etapa de desarrollo inicial, Java siempre fue criticado por " 性能低"; objetivamente, la eficiencia operativa de los lenguajes de alto nivel siempre es menor que la de los lenguajes de bajo nivel, y esto es inevitable. El desarrollo del propio lenguaje Java se ha mejorado mediante la optimización de las máquinas virtuales 几十倍运行效率. Por ejemplo, la tecnología de compilación justo a tiempo JIT (JUST IN TIME) mejora la eficiencia operativa.

    • Java低性能的短腿,已经被完全解决了. En términos de desarrollo de la industria, también hemos visto que muchas aplicaciones C ++ se han transferido al desarrollo de Java y muchos programadores de C ++ se han transformado en programadores de Java.

4.1.2 Desventajas

  • 语法过于复杂、严谨, existen muchas limitaciones para los programadores y es más difícil comenzar que python, php, etc. Pero una vez que lo aprendes, los trabajos tienen una gran demanda y 薪资待遇节节攀升...
  • Generalmente es adecuado para el desarrollo de sitios web a gran escala. 整个架构会比较重Para las empresas de nueva creación, el costo del personal de desarrollo y mantenimiento es relativamente alto (es decir, salarios altos). La elección de utilizar el lenguaje Java para desarrollar sitios web o sistemas de aplicaciones requiere una cierta cantidad. de solidez financiera.
  • 并非适用于所有领域. Por ejemplo, Objective C y Swift ocupan una posición insustituible en los dispositivos iOS. El procesamiento en el navegador está controlado casi en su totalidad por JavaScript. Los programas de Windows suelen estar escritos en C++ o C#. Java tiene ventajas en la programación del lado del servidor y en aplicaciones cliente multiplataforma.

4.2 Descripción de la función JVM

JVM ( achine Jdisponible  , máquina virtual Java): es una computadora virtual y el entorno de ejecución de programas Java VMJVM tiene un conjunto de instrucciones y utiliza diferentes áreas de almacenamiento, responsables de ejecutar instrucciones y administrar datos, memoria y registros.

 

imagen

4.2.1 Función 1: darse cuenta de la naturaleza multiplataforma de los programas Java

Todo el código Java que escribimos se ejecuta en la JVM  . Es precisamente gracias a la JVM que los programas Java son multiplataforma.

imagen

Comparación antes y después de usar JVM:

imagen

4.2.2 Función 2: Gestión automática de la memoria (asignación de memoria, reciclaje de memoria)
  • Durante el proceso de ejecución del programa Java, la JVM completa todas las operaciones relacionadas con los cálculos 数据的分配, etc.存储
  • Java elimina la responsabilidad del programador de recuperar espacio de memoria no utilizado. Proporciona un hilo a nivel de sistema para rastrear la asignación de espacio de almacenamiento. Cuando el espacio de memoria alcanza el umbral correspondiente, verifica y libera el espacio de memoria que se puede liberar.
  • El reciclaje automático de GC mejora la eficiencia de utilización del espacio de memoria y también mejora la eficiencia de los programadores, lo que se 减少了debe en gran parte a la falta de liberación de espacio 内存泄漏.

Incluso si GCexiste una función de reciclaje automático, los programas Java seguirán teniendo problemas de desbordamiento y pérdida de memoria.

Supongo que te gusta

Origin blog.csdn.net/2301_78834737/article/details/131990547
Recomendado
Clasificación