Está en la página 1de 13

INVESTIGACION #1

Estudiante= Edoya Stonestreet


Encuentre el significado y ejemplifique cada uno de los siguientes conceptos de
Programación JAVA.
CONCEPTOS
1. ¿Qué es el lenguaje de programación JAVA?

Java es un lenguaje sencillo y orientado a objetos, que permite el desarrollo


de aplicaciones en diversas áreas, como seguridad, animación, acceso a
bases de datos, aplicaciones cliente-servidor, interfaces gráficas, páginas
Web interactivas y desarrollo de aplicaciones móviles, entre otras. Una de
sus principales características es la creación de módulos reutilizables, que
funcionan sin la necesidad de conocer su estructura interna. Esto permite al
usuario añadir nuevos módulos, además de obtener programas
independientes de la plataforma en la cual fueron desarrollados, gracias a
la implementación de la llamada Máquina Virtual de Java (JVM).

a. Mencione y defina cinco (5) características principales de


JAVA.
Es SIMPLE:

Java ofrece toda la funcionalidad de un lenguaje potente, pero sin las


características menos usadas y más confusas de éstos. C++ es un lenguaje que
adolece de falta de seguridad, pero C y C++ son lenguajes más difundidos, por
ello Java se diseñó para ser parecido a C++ y así facilitar un rápido y fácil
aprendizaje.

Java elimina muchas de las características de otros lenguajes como C++, para
mantener reducidas las especificaciones del lenguaje y añadir características muy
útiles como el garbage collector (reciclador de memoria dinámica). No es
necesario preocuparse de liberar memoria, el reciclador se encarga de ello y como
es un thread de baja prioridad, cuando entra en acción, permite liberar bloques de
memoria muy grandes, lo que reduce la fragmentación de la memoria.
Java reduce en un 50% los errores más comunes de programación con lenguajes
como C y C++ al eliminar muchas de las características de éstos, entre las que
destacan:

 aritmética de punteros
 no existen referencias
 registros (struct)
 definición de tipos (typedef)
 macros (#define)
 necesidad de liberar memoria (free)

Aunque, en realidad, lo que hace es eliminar las palabras reservadas (struct,


typedef), ya que las clases son algo parecido.

Además, el intérprete completo de Java que hay en este momento es muy


pequeño, solamente ocupa 215 Kb de RAM.

Es ORIENTADO A OBJETOS:

Java implementa la tecnología básica de C++ con algunas mejoras y elimina


algunas cosas para mantener el objetivo de la simplicidad del lenguaje. Java
trabaja con sus datos como objetos y con interfaces a esos objetos. Soporta las
tres características propias del paradigma de la orientación a objetos:
encapsulación, herencia y polimorfismo. Las plantillas de objetos son llamadas,
como en C++, clases y sus copias, instancias. Estas instancias, como en C++,
necesitan ser construidas y destruidas en espacios de memoria.

Java incorpora funcionalidades inexistentes en C++ como por ejemplo, la


resolución dinámica de métodos. Esta característica deriva del lenguaje Objective
C, propietario del sistema operativo Next. En C++ se suele trabajar con librerías
dinámicas (DLLs) que obligan a recompilar la aplicación cuando se retocan las
funciones que se encuentran en su interior. Este inconveniente es resuelto por
Java mediante una interfaz específica llamada RTTI (RunTime Type Identification)
que define la interacción entre objetos excluyendo variables de instancias o
implementación de métodos. Las clases en Java tienen una representación en el
runtime que permite a los programadores interrogar por el tipo de clase y enlazar
dinámicamente la clase con el resultado de la búsqueda.

Es DISTRIBUIDO:

Java se ha construido con extensas capacidades de interconexión TCP/IP. Existen


librerías de rutinas para acceder e interactuar con protocolos como http y ftp. Esto
permite a los programadores acceder a la información a través de la red con tanta
facilidad como a los ficheros locales.
La verdad es que Java en sí no es distribuido, sino que proporciona las librerías y
herramientas para que los programas puedan ser distribuidos, es decir, que se
corran en varias máquinas, interactuando.

Es ROBUSTO:

Java realiza verificaciones en busca de problemas tanto en tiempo de compilación


como en tiempo de ejecución. La comprobación de tipos en Java ayuda a detectar
errores, lo antes posible, en el ciclo de desarrollo. Java obliga a la declaración
explícita de métodos, reduciendo así las posibilidades de error. Maneja la memoria
para eliminar las preocupaciones por parte del programador de la liberación o
corrupción de memoria. También implementa los arrays auténticos, en vez de
listas enlazadas de punteros, con comprobación de límites, para evitar la
posibilidad de sobreescribir o corromper memoria resultado de punteros que
señalan a zonas equivocadas. Estas características reducen drásticamente el
tiempo de desarrollo de aplicaciones en Java.

Además, para asegurar el funcionamiento de la aplicación, realiza una verificación


de los byte-codes, que son el resultado de la compilación de un programa Java.
Es un código de máquina virtual que es interpretado por el intérprete Java. No es
el código máquina directamente entendible por el hardware, pero ya ha pasado
todas las fases del compilador: análisis de instrucciones, orden de operadores,
etc., y ya tiene generada la pila de ejecución de órdenes.

Java proporciona, pues:

 Comprobación de punteros
 Comprobación de límites de arrays
 Excepciones
 Verificación de byte-codes

Es de ARQUITECTURA NEUTRAL:

Para establecer Java como parte integral de la red, el compilador Java compila su
código a un fichero objeto de formato independiente de la arquitectura de la
máquina en que se ejecutará. Cualquier máquina que tenga el sistema de
ejecución (run-time) puede ejecutar ese código objeto, sin importar en modo
alguno la máquina en que ha sido generado. Actualmente existen sistemas run-
time para Solaris 2.x, SunOs 4.1.x, Windows 95, Windows NT, Linux, Irix, Aix,
Mac, Apple y probablemente haya grupos de desarrollo trabajando en el porting a
otras plataformas.
Es SEGURO:

La seguridad en Java tiene dos facetas. En el lenguaje, características como los


punteros o el casting implícito que hacen los compiladores de C y C++ se eliminan
para prevenir el acceso ilegal a la memoria. Cuando se usa Java para crear un
navegador, se combinan las características del lenguaje con protecciones de
sentido común aplicadas al propio navegador.

El lenguaje C, por ejemplo, tiene lagunas de seguridad importantes, como son


los errores de alineación. Los programadores de C utilizan punteros en conjunción
con operaciones aritméticas. Esto le permite al programador que un puntero
referencie a un lugar conocido de la memoria y pueda sumar (o restar) algún valor,
para referirse a otro lugar de la memoria. Si otros programadores conocen
nuestras estructuras de datos pueden extraer información confidencial de nuestro
sistema. Con un lenguaje como C, se pueden tomar números enteros aleatorios y
convertirlos en punteros para luego acceder a la memoria:

printf( "Escribe un valor entero: " );


scanf( "%u",&puntero );
printf( "Cadena de memoria: %s\n",puntero );

Es PORTABLE:

Más allá de la portabilidad básica por ser de arquitectura independiente, Java


implementa otros estándares de portabilidad para facilitar el desarrollo. Los
enteros son siempre enteros y además, enteros de 32 bits en complemento a 2.
Además, Java construye sus interfaces de usuario a través de un sistema
abstracto de ventanas de forma que las ventanas puedan ser implantadas en
entornos Unix, Pc o Mac.

Es INTERPRETADO:
El intérprete Java (sistema run-time) puede ejecutar directamente el código objeto.
Enlazar (linkar) un programa, normalmente, consume menos recursos que
compilarlo, por lo que los desarrolladores con Java pasarán más tiempo
desarrollando y menos esperando por el ordenador. No obstante, el compilador
actual del JDK es bastante lento. Por ahora, que todavía no hay compiladores
específicos de Java para las diversas plataformas, Java es más lento que otros
lenguajes de programación, como C++, ya que debe ser interpretado y no
ejecutado como sucede en cualquier programa tradicional.

Se dice que Java es de 10 a 30 veces más lento que C, y que tampoco existen en
Java proyectos de gran envergadura como en otros lenguajes. La verdad es que
ya hay comparaciones ventajosas entre Java y el resto de los lenguajes de
programación, y una ingente cantidad de folletos electrónicos que supuran
fanatismo en favor y en contra de los distintos lenguajes contendientes con Java.
Lo que se suele dejar de lado en todo esto, es que primero habría que decidir
hasta que punto Java, un lenguaje en pleno desarrollo y todavía sin definición
definitiva, está maduro como lenguaje de programación para ser comparado con
otros; como por ejemplo con Smalltalk, que lleva más de 20 años en cancha.

Es MULTITHREADED:

Al ser multithreaded (multihilvanado, en mala traducción), Java permite muchas


actividades simultáneas en un programa. Los threads (a veces llamados, procesos
ligeros), son básicamente pequeños procesos o piezas independientes de un gran
proceso. Al estar los threads contruidos en el lenguaje, son más fáciles de usar y
más robustos que sus homólogos en C o C++.

El beneficio de ser miltithreaded consiste en un mejor rendimiento interactivo y


mejor comportamiento en tiempo real. Aunque el comportamiento en tiempo real
está limitado a las capacidades del sistema operativo subyacente (Unix, Windows,
etc.), aún supera a los entornos de flujo único de programa (single-threaded) tanto
en facilidad de desarrollo como en rendimiento.

Cualquiera que haya utilizado la tecnología de navegación concurrente, sabe lo


frustrante que puede ser esperar por una gran imagen que se está trayendo. En
Java, las imágenes se pueden ir trayendo en un thread independiente, permitiendo
que el usuario pueda acceder a la información en la página sin tener que esperar
por el navegador.

Es DINAMICO:

Java se beneficia todo lo posible de la tecnología orientada a objetos. Java no


intenta conectar todos los módulos que comprenden una aplicación hasta el
tiempo de ejecución. Las librería nuevas o actualizadas no paralizarán las
aplicaciones actuales (siempre que mantengan el API anterior).
b. ¿Qué es la máquina virtual de JAVA y ejemplifique?
La máquina virtual de Java™ es un entorno de tiempo de ejecución que puede
añadir en un navegador web o en cualquier sistema operativo, como IBM® i. La
máquina virtual Java ejecuta instrucciones generadas por un compilador Java.
Consta de un intérprete de bytecode y un entorno de tiempo de ejecución que
permiten ejecutar los archivos de clase Java en cualquier plataforma, sea cual sea
la plataforma en la que se desarrollaron originariamente.

El cargador de clases y el gestor de seguridad, que forman parte del entorno de


tiempo de ejecución Java, aíslan el código que proviene de otra plataforma.
También pueden restringir a qué recursos del sistema puede acceder cada una de
las clases que se cargan.

Además de cargar y ejecutar el bytecode, la máquina virtual Java incluye un


recogedor de basura que gestiona la memoria. La Recogida de basura en Java se
ejecuta al mismo tiempo que la carga y la interpretación del bytecode.
Entorno Java de tiempo de ejecución (JRE)
El entorno Java de tiempo de ejecución (JRE) se inicia siempre que se entra el
mandato Ejecutar Java (RUNJVA) o el mandato JAVA en la línea de mandatos
del IBM i. Dado que el entorno Java es multihebra, es necesario ejecutar la
máquina virtual Java en un trabajo que permita hebras, como puede ser un trabajo
inmediato por lotes (BCI). Como se ilustra en la siguiente figura, una vez iniciada
la máquina virtual Java, pueden iniciarse más hebras en el trabajo en que se
ejecutará el recogedor de basura.
Figura 1: El típico entorno Java cuando se utiliza el mandato CL RUNJVA o
JAVA
También es posible iniciar el entorno Java de tiempo de ejecución (JRE) utilizando
el mandato java en Qshell desde el intérprete Qshell. En este entorno, el intérprete
Qshell se ejecuta en un trabajo BCI asociado a un trabajo interactivo. El entorno
Java de tiempo de ejecución (JRE) se inicia en el trabajo que ejecuta el intérprete
Qshell.
Figura 2: el entorno Java cuando se utiliza el mandato java en Qshell

Cuando el entorno Java de tiempo de ejecución (JRE) se inicia desde un trabajo


interactivo, aparece la pantalla de la shell Java. Esta pantalla proporciona una
línea de entrada para incluir datos en la corriente System.in, así como para
visualizar los datos que se escriben en la corriente System.out y en la corriente
System.err.

Intérprete de Java

El intérprete de Java es el componente de la máquina virtual Java que interpreta


los archivos de clase Java para una plataforma de hardware determinada. El
intérprete Java decodifica cada bytecode y realiza la correspondiente operación.

2. Que es una clase y ejemplifique.?


Clase: La clase es la definición general de una entidad sobre la que estamos
interesados en realizar algún tipo de procesamiento informático. Ejemplo:
personas, coches, libros, alumnos, productos. La clase es la base de la PDO
en Java. Objeto: Elemento real asociado a una clase (instancia de una clase).

class nombre_de_clase {
tipo variable_de_instancia1;
// ...
tipo variable_de_instanciaN;
tipo nombre_de_método1(lista_de_parámetros) {
// cuerpo del método
}
// ...
tipo nombre_de_métodoN(lista_de_parámetros) {
// cuerpo del método
}
}

class Box {
double width;
double height;
double depth;
}
3. ¿Que son los métodos y ejemplifique?

Un método es una abstracción de una operación que puede hacer o realizarse con un


objeto. Una clase puede declarar cualquier número de métodos que lleven a cabo
operaciones de lo más variado con los objetos. En esta sección los métodos se clasifican
en dos grupos: los métodos de instancia y los métodos de clase.
// Llamada tipica a un metodo de instancia

idReferencia.idMetodo(parametros);

En el ejemplo anterior en la declaración de la clase CuentaBancaria, los


métodos saldo y transferencia son métodos de instancia.

public double saldo() {

return this.saldo;

public void transferencia( CuentaBancaria origen ) {

this.saldo += origen.saldo;

origen.saldo = 0;

}
Ejemplos de llamada a estos métodos dentro de PruebaCuentaBancaria:

CuentaBancaria c1 = new CuentaBancaria();

CuentaBancaria c2 = new CuentaBancaria(20.0);

c1.transferencia(c2);

System.out.println("Cuenta con: " + c1.saldo() + " euros");

4. ¿Que son objetos y ejemplifique?


Un objeto en Java no es ni más ni menos que lo mismo que un objeto en el mundo
real. Los objetos corresponden a cosas que se encuentran en el mundo real. Por
ejemplo, un sistema de compra en línea podría tener objetos como: carrito de
compras, cliente y producto.

Un objeto es una instancia de una clase. En un programa el objeto se representa


mediante una variable. Esta variable contiene la dirección de memoria del objeto.
Cuando se dice que Java no tiene punteros estamos diciendo que Java no tiene
punteros que podamos ver y manejar como tales en otros lenguajes como C/C++,
pero debemos saber que todas las referencias a un objeto son de hecho punteros,
es decir, son variables que contienen la dirección de memoria del objeto que
representan.
Para crear un objeto se deben realizar dos operaciones:
-           Declaración
-           Instanciación
Declaración de un objeto
En la declaración se crea la referencia al objeto, de forma similar a cómo se
declara una variable de un tipo primitivo.
La referencia se utiliza para manejar el objeto.
La sintaxis general para declarar un obejto en Java es:
NombreClase referenciaObjeto;
Por ejemplo, para crear un objeto de la clase Persona creamos su referencia así:
Persona p;
La referencia tiene como misión almacenar la dirección de memoria del objeto. En
este momento la referencia p almacena una dirección de memoria nula (null).
Por ejemplo:
Para asignar valores a los atributos del objeto p lo debemos hacer a través de sus
métodos ya que nombre y edad son private:
p.setNombre(“Alonso”);
p.setEdad(20);
Si intentamos hacer algo así:
p.edad = 20;
el compilador nos avisará del error ya que intentamos acceder de forma directa a
un atributo privado.
La utilización del modificador private sirve para implementar una de las
características de la programación orientada a objetos: el ocultamiento de la
información o encapsulación.
La declaración como público de un atributo de una clase no respeta este principio
de ocultación de información. Declarándolos como privados, no se tiene acceso
directo a los atributos del objeto fuera del código de la clase correspondiente y
sólo puede accederse a ellos de forma indirecta a través de los métodos
proporcionados por la propia clase.
Una de las ventajas prácticas de obligar al empleo de un método para modificar el
valor de un atributo es asegurar la consistencia de la operación.

Por ejemplo, el método setEdad de la clase Persona lo podemos escribir para


evitar que se asigne que asignen valores no permitidos para el atributo edad:

public void setEdad(int ed) {


if(ed > 0){
edad = ed;
}else{
edad = 0;
}
}
5. ¿Que son las propiedades en JAVA?

Algunas clases ofrecen públicamente una serie de valores que se conocen como


propiedades, atributos o fields. Son los que se muestran en el apartado Field
Summary de la documentación de cada clase.
Por ejemplo, la clase Math ofrece las propiedades E y PI:
Como se ha comentado antes, estas propiedades se deben usar como simples
valores del tipo que indican. En el ejemplo anterior se observa que ambos son
valores de tipo double.
Para hacer referencia a una de las propiedades que ofrece una determinada
clase, tan sólo se indicar el nombre de la propiedad precedido de un objeto de
dicha clase o del nombre de la clase si la propiedad es estática. Es decir, de
manera similar a la llamada a un método, pero sin usar paréntesis.
Así, por ejemplo, para mostrar el valor de la propiedad estática PI de la clase
Math (se muestra 3.141592653589793):
6. ¿Qué son palabras reservadas?
Las palabras reservadas son identificadoras, pero como su nombre indica, estas
palabras están reservadas, y no se pueden usar como identificadores de usuario.

7. Tipos de variables y su tamaño


Variables y tipos de datos en Java: tipos simples, clases y tipos envoltorio o
wrapper
Todo programa de ordenador persigue ofrecer una funcionalidad determinada para
la que, por regla general, necesitará almacenar y manipular información. Dicha
información, que son los datos sobre los que operaremos, deben almacenarse
temporalmente en la memoria del ordenador. Para poder almacenar y
recuperar fácilmente información en la memoria de un ordenador los lenguajes de
programación ofrecen el concepto de variables, que no son más que nombres
que "apuntan" a una determinada parte de la memoria y que el lenguaje utiliza
para escribir y leer en esta de manera controlada.
8. Que son arreglos y defina los tipos de dimensiones.
Un array (arreglo) en Java es una estructura de datos que nos permite almacenar
un conjunto de datos de un mismo tipo. El tamaño de los arrays se declara en un
primer momento y no puede cambiar luego durante la ejecución del
programa, como sí puede hacerse en otros lenguajes.

Existen 2 tipos de arreglos, los unidimensionales, y los multidimensionales


(generalmente 2 dimensiones y se les denomina matrices), en esta lección
veremos como declarar y utilizar los arreglos unidimensionales, estos son más
sencillos y fáciles de comprender, y pueden servirnos para muchas aplicaciones.

Declaración:
La estructura de declaración de un arreglo es la siguiente:

tipo_dedato [] nombre_variable;  //tambien puede declararse “tipo_dedato


nombre_variable[];”

ejemplos:

1 String array[]; //donde array es un arreglo que guardara variables tipo Strings

2 double array2[]; //donde array2 es un arreglo que guardara variabels tipo double

int [] array3;   //donde array3 es un arreglo que guardara variables tipo


int(numericas)

3
9. Encuentre al menos tres (3) lenguaje (herramientas) que nos permite
programar en Java y menciones al menos dos (2) de cada uno.

10. Que son Applets y cómo funciona, ejemplifique?

¿Qué es un applet y da un ejemplo dentro de una página web?


Un Java applet es un pequeño programa que es utilizado en una página HTML y
representado por una pequeña pantalla gráfica dentro de esta. Otro ejemplo es el
Windows Media Player utilizado para visualizar archivos de video
incrustados en los navegadores como el [Internet Explorer].

¿Qué es applets y ejemplos?


Un applet es un programa Java que se ejecuta en el navegador web, utilizando
todos sus recursos como entorno de trabajo. Por ejemplo, la página en la que se
carga el applet hace de entorno gráfico en el que se van a dibujar los comandos
gráficos.

¿Cómo usar applets?


Para poder visualizar un applet dentro de una página web deberemos de
introducir su código HTML correspondiente, este se referencia mediante la
etiqueta applet . Esta etiqueta cuenta con una serie de atributos: code, indica el
fichero . class que representa el applet.
¿Dónde se ejecuta un applet?
Los applets de Java pueden ejecutarse en un navegador web utilizando la Java
Virtual Machine (JVM), o en el AppletViewer de Sun. Entre sus características
podemos mencionar un esquema de seguridad que permite que
los applets que se ejecutan en el equipo no tengan acceso a partes sensibles
(por ej.

¿Qué es un hosting y applets?


HOSTING: es el servicio que provee el espacio en Internet para los sitios
web. APPLETS: es un programa escrito en Java y que forma parte de los
componentes de una página de Internet. Un mismo servidor en Internet puede
ofrecer diferentes recursos con distintos servicios y sus correspondientes
protocolos.

¿Qué es un applet ciclo de vida y usos de applet?


Ciclo de vida de un applet

init: cuando se carga el applet por primera vez; usado para inicializaciones. start:
tras invocar a init y cada vez que el usuario vuelva a la página del  applet. stop:
cuando el usuario vaya a otra página. destroy: cuando se cierra el navegador.

¿Cómo poner un applet en una página web?


Si queremos insertar un applet en una página web, la forma más segura es
copiar la etiqueta <APPLET> </APPLET> desde la página web generada por
JBuilder a nuestra página. Dentro de la etiqueta applet el parámetro más
importante es CODE que señala el nombre del archivo cuya extensión es .

También podría gustarte