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