Bienvenidos a otro capítulo de este Curso Gratis de Java para Hackers – Instalar y configurar Java. Comparte este articulo y síguenos para recibir más capítulos, guías y cursos gratis.

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

¿Cómo descargar e instalar Java para una máquina de 64 bits?

Java es uno de los lenguajes de programación más populares y utilizados. Es un lenguaje simple, portátil e independiente de la plataforma. Ha sido uno de los lenguajes de programación más populares durante muchos años. En este artículo, veremos cómo descargar e instalar Java en máquinas con arquitectura de 64 bits. 

Se pueden seguir los siguientes pasos para descargar e instalar java. Todos los pasos que se describen a continuación se han realizado en el sistema operativo Windows 11, pero el procedimiento también es bastante similar al de otros sistemas operativos.  Este kit de desarrollo de Java (JDK) le permite codificar y ejecutar programas Java. Es posible que instales varias versiones de JDK en la misma PC. Pero se recomienda instalar Java en Windows 11 con la última versión.

Paso 1: 

abra la URL  https://www.oracle.com/java/technologies/javase-downloads.html en el navegador y navegará a la página oficial de descargas de Oracle Java. 

Paso 2: 

Ahora, desplácese hasta la versión de Java que queremos descargar y haga clic en la opción Descargar JDK como se muestra a continuación. Desplácese hacia abajo hasta la página y haga clic en la opción Windows y elija del botón de descarga adecuada para el sistema operativo de su computadora. Pero para una máquina de 64 bits, elija el nombre del software que termine en x64 .  

Paso 3: 

Nuestra descarga comenzará instantáneamente como se muestra a continuación:  

Paso 4: 

Una vez completado el procedimiento de descarga, debemos ejecutar el instalador. Una vez que se abra el asistente de instalación de Java, haga clic en el botón Siguiente como se muestra a continuación: 

Paso 5:

Haga clic nuevamente en el botón Siguiente si deseamos instalar el kit de desarrollo Java en el directorio predeterminado, o podemos cambiar este directorio haciendo clic en el botón Cambiar .  

Paso 6:

La instalación comenzará como se muestra a continuación: 

Paso 7: 

La instalación de Java se completará exitosamente como se muestra a continuación. Finalmente, podemos hacer clic en el botón Cerrar después de que aparezca la ventana de confirmación que dice que Java está instalado. 

Paso 8:

Por último, para confirmar si todo está configurado correctamente, abra cmd y escriba java –version

VENTANA CMD

Configurando el entorno en Java

Java es un lenguaje de programación de computadoras de propósito general que es concurrente, basado en clases, orientado a objetos, etc. Las aplicaciones Java generalmente se compilan en un código de bytes que puede ejecutarse en cualquier máquina virtual Java (JVM) independientemente de la arquitectura de la computadora. La última versión es Java 21 . A continuación se muestran las configuraciones de entorno para Linux y Windows. JVM, JRE y JDK tres dependen de la plataforma porque la configuración de cada sistema operativo es diferente. Pero Java es independiente de la plataforma. Pocas cosas deben quedar claras antes de configurar el entorno, lo que se puede percibir mejor en la siguiente imagen:

  • JDK (Java Development Kit): JDK está destinado a desarrolladores de software e incluye herramientas de desarrollo como el compilador de Java, Javadoc, Jar y un depurador.
  • JRE (Java Runtime Environment): JRE contiene las partes de las bibliotecas Java necesarias para ejecutar programas Java y está destinado a usuarios finales. JRE puede verse como un subconjunto de JDK.
  • JVM: JVM (Java Virtual Machine) es una máquina abstracta. Es una especificación que proporciona un entorno de ejecución en el que se puede ejecutar el código de bytes de Java. Las JVM están disponibles para muchas plataformas de hardware y software.

Ahora analicemos los pasos para configurar un entorno Java con ayudas visuales. Utilicemos el sistema operativo Windows para ilustrar ayudas visuales.

Paso 1: 

busca Variables de entorno como se resalta a continuación. 

Paso 2: 

Ahora, debe modificar la variable «Ruta» en Variables del sistema para que también contenga la ruta al entorno Java. Seleccione la variable «Ruta» y haga clic en el botón Editar como se resalta a continuación. 

Paso 3: 

Verá una lista de diferentes rutas, haga clic en el botón Nuevo y luego agregue la ruta donde está instalado Java. De forma predeterminada, Java se instala en la carpeta “C:\Program Files\Java\jdk-22\bin”. En caso de que haya instalado Java en cualquier otra ubicación, agregue esa ruta. 

Paso 4:

Haga clic en Aceptar, guarde la configuración y ¡listo! Ahora, para comprobar si la instalación se realizó correctamente, abra el símbolo del sistema y escriba javac -version . Verá que Java se está ejecutando en su máquina.

Nota: Para asegurarse de que el compilador esté configurado, escriba javac en el símbolo del sistema. Verá una lista relacionada con javac.

Comando help

El comando help proporciona una lista de los comandos que están disponibles en la sesión de jdb. Esta lista es la que sigue, en donde hemos aprovechado la presencia de todos los comandos para comentar la acción que cada uno de ellos lleva a cabo.

threads [threadgroup] — lista threads

thread <thread id> — establece el thread por defecto

suspend [thread id(s)] — suspende threads (por defecto, todos)

resume [thread id(s)] — continúa threads (por defecto, todos)

where [thread id]|all — muestra la pila de un thread

threadgroups — lista los grupos de threads

threadgroup <name> — establece el grupo de thread actual

print <id> [id(s)] — imprime un objeto o campo

dump <id> [id(s)] — imprime toda la información del objeto

locals — imprime las variables locales de la pila actual

classes — lista las clases conocidas

methods <class id> — lista los métodos de una clase

stop in <class id>.<method> — fija un punto de ruptura en un método

stop at <class id>:<line> — establece un punto de ruptura en una línea

up [n frames] — ascender en la pila de threads

down [n frames] — descender en la pila de threads

clear <class id>:<line> — eliminar un punto de ruptura

step — ejecutar la línea actual

cont — continuar la ejecución desde el punto de ruptura

catch <class id> — parar por la excepción especificada

ignore <class id> — ignorar la excepción especificada

list [line number] — imprimir código fuente

use [source file path] — ver o cambiar la ruta del fichero fuente

memory — informe del uso de la memoria

load <classname> – carga la clase Java a ser depurada

run <args> – comienza la ejecución de la clase cargada

!! – repite el último comando

help (or ?) – lista los comandos

exit (or quit) – salir del depurador

Comando threadgroups

El comando threadgroups permite ver la lista de threads que se están ejecutando. Los grupos system y main deberían estar siempre corriendo.

>threadgroups

(java.lang.ThreadGroup)0xee300068 system

(java.lang.ThreadGroup)0xee300a98 main

Comando threads

El comando threads se utiliza para ver la lista completa de los threads que se están ejecutando actualmente.

>threads

Group system:

(java.lang.Thread)0xee300098 clock handler cond

(java.lang.Thread)0xee300558 Idle thread run

(java.lang.Thread)0xee3005d0 sync Garbage Collector cond

(java.lang.Thread)0xee300620 Finalizer thread cond

(java.lang.Thread)0xee300a20 Debugger agent run

(java.tools.debug.BreakpointHandler)0xee300b58) Breakpoint handler cond

Group main:

(java.lang.Thread)0xee300048 main suspended

Comando run

El comando run es el que se utiliza para arrancar el appletviewer en la sesión de depuración. Lo teclearemos y luego volveremos a listar los threads que hay en ejecución.

>run

run sun.applet.AppletViewer hm.html

running…

main[1]threads

threads

Group sun.applet.AppletViewer.main:

(java.lang.Thread)0xee3000c0 AWT-Motif running

(sun.awt.ScreenUpdater)0xee302ed0 ScreenUpdater cond. Waiting

Group applet-hm.class:

(java.lang.Thread)0xee302f38 Thread-6 cond. Waiting

main[1]

El visor de applets de Sun aparecerá en la pantalla y mostrará el conocido mensaje de saludo al Mundo. Ahora vamos a rearrancar el appletviewer con un punto de ruptura, para detener la ejecución del applet, y podamos seguir mostrando los comandos disponibles en el jdb.

main[1]exit

%appletviewer -debug hm.html

Loading jdb…

0xee3009c8:class(sun.applet.AppletViewer)

>stop in hm.paint

Breakpoint set in hm.paint

>run

run sun.applet.AppletViewer hm.html

running…

Breakpoint hit: hm.paint(hm.java:9)

AWT-Motif[1]

Comando where

El comando where mostrará la pila de ejecución del applet.

AWT-Motif[1]where

[1]hm.paint(hm.java:9)

[2]sun.awt.motif.MComponentPeer.paint(MComponenetPeer.java:109)

[3]sun.awt.motif.MComponentPeer.handleExpose(MComponenetPeer.java:170)

AWT-Motif[1]

Comando use

El comando use nos informa del camino donde jdb va a buscar los ficheros fuentes que contienen el código Java de las clases que se están depurando. Por defecto, utilizará el camino que se especifique en la variable de entorno CLASSPATH.

AWT-Motif[1]use

/usr/local/java/classes:

AWT-Motif[1]

Comando list

El comando list mostrará el código fuente actual al comienzo del punto de ruptura que hayamos fijado.

AWT-Motif[1]list

       public void paint( Graphics g ) {

=>       i = 10;

          g.drawString( «Hola Mundo!»,25,25 ) ;

          }

      }

AWT-Motif[1]

Comando dump

El comando dump nos permitirá ahora ver el valor del objeto g pasado desde el appletviewer.

AWT-Motif[1]dump g

g = (sun.awt.motif.X11Graphics)0xee303df8 {

  int pData = 1342480

  Color foreground = (java.awt.Color)0xee302378

  Font font = (java.awt.Font)0xee302138

  int originX = 0

  int originY = 0

  float scaleX = 1

  float scaleY = 1

  Image image = null

}

AWT-Motif[1]

Comando step

El comando step nos porporciona el método para ejecutar la línea actual, que estará siendo apuntada por el indicador si hemos utilizado el comando list.

AWT-Motif[1]step

Breakpoint hit: hm.paint(hm.java:11)

AWT-Motif[1]list

       public void paint( Graphics g ) {

          i = 10;

=>       g.drawString( «Hola Mundo!»,25,25 );

          }

      }

AWT-Motif[1]

AWT

AWT es el acrónimo del X Window Toolkit para Java, donde X puede ser cualquier cosa: Abstract, Alternative, Awkward, Another o Asqueroso; aunque parece que Sun se decanta por Abstracto, seriedad por encima de todo. Se trata de una biblioteca de clases Java para el desarrollo de Interfaces de Usuario Gráficas.

La versión del AWT que Sun proporciona con el JDK se desarrolló en sólo dos meses y es la parte más débil de todo lo que representa Java como lenguaje.

El entorno que ofrece es demasiado simple, no se han tenido en cuenta las ideas de entornos gráficos novedosos, sino que se ha ahondado en estructuras orientadas a eventos, llenas de callbacks y sin soporte alguno del entorno para la construcción gráfica; veremos que la simple acción de colocar un dibujo sobre un botón se vuelve una tarea harto complicada.

Quizá la presión de tener que lanzar algo al mercado haya tenido mucho que ver en la pobreza de AWT. La estructura básica del AWT se basa en Componentes y Contenedores. Estos últimos contienen Componentes posicionados a su respecto y son Componentes a su vez, de forma que los eventos pueden tratarse tanto en Contenedores como en Componentes, corriendo por cuenta del programador (todavía no hay herramientas de composición visual) el encaje de todas las piezas, así como la seguridad de tratamiento de los eventos adecuados.

Interface de Usuario

La interface de usuario es la parte del programa que permite a éste interactuar con el usuario. Las interfaces de usuario pueden adoptar muchas formas, que van desde la simple línea de comandos hasta las interfaces gráficas que proporcionan las aplicaciones más modernas. La interface de usuario es el aspecto más importante de cualquier aplicación. Una aplicación sin un interfaz fácil, impide que los usuarios saquen el máximo rendimiento del programa. Java proporciona los elementos básicos para construir decentes interfaces de usuario a través del AWT.

Al nivel más bajo, el sistema operativo transmite información desde el ratón y el teclado como dispositivos de entrada al programa. El AWT fue diseñado pensando en que el programador no tuviese que preocuparse de detalles como controlar el movimiento del ratón o leer el teclado, ni tampoco atender a detalles como la escritura en pantalla.

El AWT constituye una librería de clases orientada a objeto para cubrir estos recursos y servicios de bajo nivel. Debido a que el lenguaje de programación Java es independiente de la plataforma en que se ejecuten sus aplicaciones, el AWT también es independiente de la plataforma en que se ejecute.

El AWT proporciona un conjunto de herramientas para la construcción de interfaces gráficas que tienen una apariencia y se comportan de forma semejante en todas las plataformas en que se ejecute.

Los elementos de interface proporcionados por el AWT están implementados utilizando toolkits nativos de las plataformas, preservando una apariencia semejante a todas las aplicaciones que se creen para esa plataforma. Este es un punto fuerte del AWT, pero también tiene la desventaja de que una interface gráfica diseñada para una plataforma, puede no visualizarse correctamente en otra diferente.

Estructura del AWT

La estructura de la versión actual del AWT podemos resumirla en los puntos que exponemos a continuación:

  • Los Contenedores contienen Componentes, que son los controles básicos
  • No se usan posiciones fijas de los Componentes, sino que están situados a través de una disposición controlada (layouts)
  • El común denominador de más bajo nivel se acerca al teclado, ratón y manejo de eventos
  • Alto nivel de abstracción respecto al entorno de ventanas en que se ejecute la aplicación (no hay áreas cliente, ni llamadas a X, ni hWnds, etc.)
  • La arquitectura de la aplicación es dependiente del entorno de ventanas, en vez de tener un tamaño fijo
  • Es bastante dependiente de la máquina en que se ejecuta la aplicación (no puede asumir que  un diálogo tendrá el mismo tamaño en cada máquina)
  • Carece de un formato de recursos. No se puede separar el código de lo que es propiamente  interface. No hay ningún diseñador de interfaces (todavía)

Componentes y Contenedores

Una interface gráfica está construida en base a elementos gráficos básicos, los Componentes. Típicos ejemplos de estos Componentes son los botones, barras de desplazamiento, etiquetas, listas, cajas de selección o campos de texto. Los Componentes permiten al usuario interactuar con la aplicación y proporcionar información desde el programa al usuario sobre el estado del programa.

En el AWT, todos los Componentes de la interface de usuario son instancias de la clase Component o uno de sus subtipos. Los Componentes no se encuentran aislados, sino agrupados dentro de Contenedores. Los Contenedores contienen y organizan la situación de los Componentes; además, los Contenedores son en sí mismos Componentes y como tales pueden ser situados dentro de otros Contenedores.

También contienen el código necesario para el control de eventos, cambiar la forma del cursor o modificar el icono de la aplicación. En el AWT, todos los Contenedores son instancias de la clase Container o uno de sus subtipos. Los Componentes deben circunscribirse dentro del Contenedor que los contiene. Esto hace que el anidamiento de Componentes (incluyendo Contenedores) en Contenedores crean árboles de elementos, comenzando con un Contenedor en la raiz del árbol y expandiéndolo en sus ramas.

No te detengas, sigue avanzando

Aquí tienes un propósito para este 2024 que debes considerar seriamente: si has querido mejorar tus habilidades en hacking, Ciberseguridad y programación ahora es definitivamente el momento de dar el siguiente paso. ¡Desarrolla tus habilidades aprovechando nuestros cursos a un precio increíble y avanza en tu carrera!

Universidad Hacking. Todo en Ciberseguridad. Curso Completo

Aprende Hacking Ético y Ciberseguridad sin necesitar conocimientos Previos. Practica Hacking Ético y Ciberseguridad aquí

Calificación: 4,6 de 5 (2.877 calificaciones) 15.284 estudiantes Creado por Alvaro Chirou • 1.800.000+ Enrollments Worldwide

Lo que aprenderás

  • Aprende Seguridad informática
  • Te enseñare Hacking Ético
  • Veremos Ciberseguridad
  • La base principal del Hacking, Redes
  • Programación (Python) Necesitaras saber Python para, Hacking con Python
  • Te enseñare Análisis de Malware, además haremos laboratorios, practicas y ejecutaremos Malware para que veas su comportamiento.
  • Te enseñare a reforzar tu Privacidad y Anonimato
  • Aprenderás una de las herramientas mas populares por excelencia en el mundo del Hacking, Metasploit
  • Es importante que aprendas Seguridad informática Mobile ya que usamos nuestro celular como una PC
  • Veremos también el top 10 de Owasp Web
  • Veremos también el top 10 de Owasp mobile
  • Veremos también el top 10 de Owasp API
  • Ante la demanda del mercado, te enseñare Seguridad informática para empresas
  • Veras también la suit de herramientas de seguridad informática en un sistema operativo, Kali Linux
  • Herramientas de hacking para el celular en Termux
  • Seguridad informática en WordPress
  • Análisis de trafico en Wireshark

El Hacking Ético y Ciberseguridad es Transversal a todo lo que sea Tecnología.

¿Esto que significa?

Que hoy más que nunca, se necesitan personas capacitadas en este rubro para trabajar.

Por esa razón cree esta formación profesional para compartirte mis conocimientos y experiencia en la materia y puedas iniciar en este mundo del Hacking Ético y Ciberseguridad.

Te voy a estar acompañando en el proceso de aprendizaje, donde si estas empezando desde 0, sin conocimientos previos, no es un impedimento ya que iniciaremos como si no supieras nada de la materia.

Y si sos una persona con conocimientos, podrás iniciar directamente en el nivel más avanzado o en el que tu elijas.

Como en todos mis cursos en udemy, tendrás muchísima practica para que materialices lo que vas aprendiendo.

Empieza a aprender ya mismo!

Aprende con nuestros más de 100 cursos que tenemos disponibles para vos

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Sobre los autores

Álvaro Chirou

Yo soy Álvaro Chirou, tengo más de 20 Años de experiencia trabajando en Tecnología, eh dado disertaciones en eventos internacionales como OWASP, tengo más de 1.800.000 estudiantes en Udemy y 100 formaciones profesionales impartidas en la misma. Puedes serguirme en mis redes:

Laprovittera Carlos

Soy Laprovittera Carlos. Con más de 20 años de experiencia en IT brindo Educación y Consultoría en Seguridad de la Información para profesionales, bancos y empresas. Puedes saber más de mi y de mis servicios en mi sitio web: laprovittera.com y seguirme en mis redes:

¿Quieres iniciarte en hacking y ciberseguridad pero no sabes por dónde empezar? Inicia leyendo nuestra guia gratuita: https://achirou.com/como-iniciarse-en-ciberseguridad-y-hacking-en-2024/ que te lleva de 0 a 100. Desde los fundamentos más básicos, pasando por cursos, recursos y certificaciones hasta cómo obtener tu primer empleo.

SIGUE APRENDIENDO GRATIS CON NUESTRAS GUIAS

Cómo Iniciarse en Hacking y Ciberseguridad en 2024

Curso Gratis de Programación

Curso Gratis Linux – Capitulo 1 – Introducción a Linux

Curso Gratis de Redes – Capitulo 1 – Tipos de redes y servicios

Como iniciarse en TRY HACK ME – Complete Beginner #1

OSINT #1 Más de 200 Search Tools