2. 1. Qué es java?
R/= Java es un lenguaje de
programación y la primera
plataforma informática creada
por Sun Microsystems en 1995.
Es la tecnología subyacente que
permite el uso de programas
punteros, como
herramientas, juegos y
aplicaciones de negocios. Java
se ejecuta en más de 850
millones de ordenadores
personales de todo el mundo y
en miles de millones de
dispositivos, como dispositivos
móviles y aparatos de televisión.
3. 2. Cuáles son los orígenes de Java?
surgió en 1991 cuando un grupo de ingenieros de Sun
Microsystems trataron de diseñar un nuevo lenguaje
de programación destinado a electrodomésticos. La
reducida potencia de cálculo y memoria de los
electrodomésticos llevó a desarrollar un lenguaje
sencillo capaz de generar código de tamaño muy
reducido.
Como lenguaje de programación para
computadores, Java se introdujo a finales de 1995. La
clave fue la incorporación de un intérprete Java en la
versión 2.0 del programa Netscape
Navigator, produciendo una verdadera revolución en
Internet. Java 1.1 apareció a principios de
1997, mejorando sustancialmente la primera versión
del lenguaje. Java 1.2, más tarde rebautizado como
Java 2, nació a finales de 1998.
4. 3. Cómo se relaciona java con c y
c++?
C y C++ disponen de tipos de
datos frágiles cuyos limites y
características dependen de la
implementación y maquina del
compilador. Java implementa
limites y tamaños sensatos y
validos para todo tipo de
máquinas y entornos
(independientes del Hardware)
por lo que es totalmente
reproducibles en cualquier
plataforma.
5. 4. Que son los Applets de Java?
Un applet es una aplicación especial
que se ejecuta dentro de un
navegador o browser (por ejemplo
Netscape Navigator o Internet
Explorer) al cargar una página HTML
desde un servidor Web. El applet se
descarga desde el servidor y no
requiere instalación en el ordenador
donde se encuentra el browser. Un
servlet es una aplicación sin interface
gráfica que se ejecuta en un servidor
de Internet. La ejecución como
aplicación independiente es análoga
a los programas desarrollados con
otros lenguajes.
6. 5. Qué es el “código de bytes” en
java?
R/=La JVM es el intérprete de Java.
Ejecuta los “bytecodes” (ficheros
compilados con extensión *.class)
creados por el compilador de Java
(javac.exe). Tiene numerosas
opciones entre las que destacala
posibilidad de utilizar el
denominado JIT (Just-In-Time
Compiler), que puede mejorar
entre 10 y 20 veces la velocidad de
ejecución de un programa.
7. 6: Características importes tiene
Java:
a) Seguridad
El tema se ha estructurado en cuatro bloques más o - En el segundo bloque nos centraremos en la seguridad del entorno
menos independientes. de ejecución:
Seguridad en el entorno Java. En este apartado hablaremos de la
- En el primer bloque introduciremos la seguridad evolución de los mecanismos de seguridad en Java y explicaremos
desde un punto de vista teórico, según los siguientes de que modo se gestionan en el JDK 1.2.
puntos:
Criptología. En este apartado daremos una breve - En el tercer bloque hablaremos de la arquitectura de seguridad Java
y las APIs de seguridad:
introducción a los campos de la criptografía y el
criptoanálisis, presentando su terminología, las Arquitectura Criptográfica. Donde se describe la arquitectura de
soporte de algoritmos criptográficos para el programador y las
herramientas disponibles y sus aplicaciones.
extensiones de seguridad.
Técnicas criptográficas. En este punto Interfaces de seguridad. En este apartado se describen en detalle
estudiaremos con más detalle algunas de las las APIs de seguridad de Java y como emplearlas. Al igual que en
herramientas presentadas el bloque anterior, este punto se ha separado del anterior para
anteriormente, indicando sus características poder usarlo como referencia.
principales: grado de
seguridad, implementaciones, disponibilidad, etc. - En el cuarto y último bloque introduciremos las últimas tecnologías
Certificados digitales. Descripción de qué son los de seguridad incorporadas a Java:
certificados digitales, las entidades certificadoras y Extensión de Sockets Seguros de Java (JSSE). Implementación del
las infraestructuras de clave pública. SSL/TLS en Java.
Protocolos de red seguros. En este apartado Servicio de Autentificación y Autorización de Java (JAAS).
describiremos los protocolo SSL y TLS. Autentificación de usuarios en Java.
8. 6: Características importes tiene
Java:
b) portabilidad
La indiferencia a la arquitectura representa sólo
Entre sus características podemos mencionar un
una parte de su portabilidad. Además, Java
esquema de seguridad que permite que los applets que
especifica los tamaños de sus tipos de datos
se ejecutan en el equipo no tengan acceso a partes
básicos y el comportamiento de sus operadores
sensibles (por ej. no pueden escribir archivos), a menos
aritméticos, de manera que los programas son
que uno mismo le dé los permisos necesarios en el
iguales en todas las plataformas.
sistema; la desventaja de este enfoque es que la
Estas dos últimas características se conocen
entrega de permisos es engorrosa para el usuario
como la Máquina Virtual Java(JVM).
común, lo cual juega en contra de uno de los objetivos
de los Java applets: proporcionar una forma fácil de
c) applets ejecutar aplicaciones desde el navegador web.
Un applet Java es un applet escrito en el lenguaje En Java, un applet es un programa que puede
de programación Java. Los applets de Java incrustarse en un documento HTML, es decir en
pueden ejecutarse en un navegador una página web. Cuando un navegador carga una
web utilizando la Java Virtual Machine (JVM), o página web que contiene un applet, este se descarga
en el AppletViewer de Sun. en el navegador web y comienza a ejecutarse. Esto
permite crear programas que cualquier usuario puede
ejecutar con tan solo cargar la página web en su
navegador.
9. 6: Características importes tiene
Java:
b) POO
Como es sabido hay muchos lenguajes de programación orientada a objetos POO que tienen muchas
similitudes entre si, pero puntualmente nos enfocaremos en Java, utilizaremos para tal efecto un modelo de
fábrica de objetos, para introducir los términos clase, objeto, método, propiedad, estático, dinámico, donde la
fábrica de objetos será el entorno de ejecución o JRE.
10. 7. QUE ES LA PROGRAMACIÓN
ORIENTADA A OBJETOS?
Con la POO tenemos que
aprender a pensar las cosas de
una manera distinta, para
escribir nuestros programas en
términos de
objetos, propiedades, método
s y otras cosas que veremos
rápidamente para aclarar
conceptos y dar una pequeña
base que permita soltarnos un
poco con este tipo de
programación.
11. 7. QUE ES LA PROGRAMACIÓN
ORIENTADA A OBJETOS?
A) CLASES
Las clases son declaraciones de
objetos, también se podrían definir
como abstracciones de objetos. Esto
quiere decir que la definición de un
objeto es la clase. Cuando programamos
un objeto y definimos sus características
y funcionalidades en realidad lo que
estamos haciendo es programar una
clase. En los ejemplos anteriores en
realidad hablábamos de las clases coche
o fracción porque sólo estuvimos
definiendo, aunque por encima, sus
formas.
12. 7. QUE ES LA PROGRAMACIÓN
ORIENTADA A OBJETOS?
B) PROPIEDADES
Todo objeto puede tener cierto número de propiedades, cada
una de las cuales tendrá, a su vez, uno o varios valores. En
OOP, las propiedades corresponden a las clásicas "variables" de
la programación estructurada. Son, por lo tanto, datos
encapsulados dentro del objeto, junto con los métodos
(programas) y las relaciones (punteros a otros objetos). Las
propiedades de un objeto pueden tener un valor único o pueden
contener un conjunto de valores mas o menos estructurados
(matrices, vectores, listas, etc.). Además, los valores pueden ser
de cualquier tipo (numérico, alfabético, etc.) si el sistema de
programación lo permite.
13. 7. QUE ES LA PROGRAMACIÓN
ORIENTADA A OBJETOS?
C) METODOS
Una operación que realiza acceso a los datos. Podemos definir método
como un programa procedimental escrito en cualquier lenguaje, que está
asociado a un objeto determinado y cuya ejecución sólo puede
desencadenarse a través de un mensaje recibido por éste o por sus
descendientes.
Son sinónimos de 'método' todos aquellos términos que se han aplicado
tradicionalmente a los programas, como procedimiento, función, rutina, etc.
Sin embargo, es conveniente utilizar el término 'método' para que se
distingan claramente las propiedades especiales que adquiere un programa
en el entorno OOP, que afectan fundamentalmente a la forma de invocarlo
(únicamente a través de un mensaje) y a su campo de acción, limitado a un
objeto y a sus descendientes, aunque posiblemente no a todos.
14. 7. QUE ES LA PROGRAMACIÓN
ORIENTADA A OBJETOS?
D) INSTANCIA
Cada vez que creamos una nueva instancia, ésta adquiere las
propiedades, métodos y eventos de la clase a la que pertenece (es lo que
permite la relación es un), sin embargo, cada instancia es independiente de
las otras; esto nos da dos ventajas:
1. Si hago algún cambio en la clase, todas las instancias de esta clase se
actualizarán automáticamente; esto nos permite hacer cambios sin tener
que ir a cada una de las instancias (se aplica el mismo principio de
herencia, aunque a un nivel diferente).
2. Al ser independientes de las otras instancias, puedo darles valores
diferentes sin que afecten a las demás (como tener una silla negra, una
roja, una más alta, etc.). Aunque comparten la misma estructura, pueden
programarse individualmente, dando versatilidad y flexibilidad al código.
15. 8. Características de la POO:
a) Encapsulamiento
La encapsulación se encarga de
mantener ocultos los procesos internos b) Polimorfismo
que necesita para hacer lo que sea que
haga, dándole al programador acceso
sólo a lo que necesita. Esto da dos El polimorfismo es una nueva característica
ventajas iniciales: Lo que hace el usuario aportada por la POO. Esta propiedad indica la
posibilidad de definir varias operaciones con el
puede ser controlado internamente mismo nombre, diferenciándolas únicamente en
(incluso sus errores), evitando que todo los parámetros de entrada. Dependiendo del
colapse por una intervención. La segunda objeto que se introduzca como parámetro de
ventaja es que, al hacer que la mayor entrada, se elegirá automáticamente cual de las
parte del código esté oculto, puedes operaciones se va a realizar.
hacer cambios y/o mejoras sin que eso
afecte el modo como los usuarios van a Ya está habituado al operador <<suma>> que
utilizar tu código está presente en todos los lenguajes de
programación. Sin embargo, los operadores
<<suma de fracciones>> y <<suma de números
complejos>> no existen en casi ningún lenguaje
de programación.
16. 8. Características de la POO:
a) Herencia
La herencia es la última de las propiedades relativas a
la OOP, Consiste en la propagación de los atributos y
las operaciones a través de distintas sub-clases
definidas a partir de una clase común.
Introduce, por tanto, una posibilidad de refinamiento
sucesivo del concepto de clase. Nos permite definir
una clase principal y , a través de sucesivas
aproximaciones, cualquier característica de los
objetos. A partir de ahora definiremos como sub-
clases todas aquellas clases obtenidas mediante
refinamiento de una (o varias) clases principales.
La herencia nos permite crear estructuras jerárquicas
de clases donde es posible la creación de sub-clases
que incluyan nuevas propiedades y atributos. Estas
sub-clases admiten la definición de nuevos
atributos, así como crear, modificar o inhabilitar
propiedades.
17. 9. Cuáles son los tipos de datos
soportados en Java?
18. 10. Operadores en Java:
Operadores Aritméticos: Los habituales
Suma + .
Resta - . Operadores Unarios: El mas (+) y el menos (-).
Multiplicación * . Para cambiar el signo del operando.
División / .
Resto de la División % . Operador Instanceof: Nos permite saber si un
objeto pertenece a una clase o no.
Operadores de Asignación: El principal es '=' pero NombreObjeto instanceof NombreClase
hay más operadores de asignación con distintas
funciones que explicamos brevemente ahora. Operadores Incrementales: Son los operadores
'+=' : op1 += op2 à op1 = op1 + op2 que nos permiten incrementar las variables en
'-=' : op1 -= op2 à op1 = op1 - op2 una unidad. Se pueden usar delante y detrás de la
variable dependiendo de lo que queramos, es
'*=' : op1 *= op2 à op1 = op1 * op2
decir, si queremos que incremente o viceversa
'/=' : op1 /= op2 à op1 = op1 / op2 antes de utilizar o lo contrario.
'%=' : op1 %= op2 à op1 = op1 % op2 '++'
'--‘
19. 10. Operadores en Java:
Operadores Relacionales: Permiten comparar variables
según relación de igualdad/desigualdad o relacción
mayor/menor. Devuelven siempre un valor boolean.
'>': Mayor que Operador de concatenación con cadena de
'<': Menor que caracteres '+':
'==': Iguales Por Ejemplo: System.out.println("El total es"+
'¡=': Distintos result +"unidades");
'>=': Mayor o igual que
'<=': Menor o igual que Operadores que actúan a nivel de bits: Son mucho
menos utilizados por eso los explicamos mas por
Operadores Lógicos: Nos permiten construir expresiones encima.
lógicas. '>>': desplazamiento a la derecha de los bits del
'&&' : devuelve true si ambos operandos son true. operando
'||' : devuelve true si alguno de los operandos son '<<': desplazamiento a la izquierda de los bits de
true. operando
'!' : Niega el operando que se le pasa. '&': operador and a nivel de bit.
'&' : devuelve true si ambos operandos son '|': operador or a nivel de bit
true, evaluándolos ambos.
'|' : devuelve true uno de los operandos es
true, evaluándolos ambos.
20. 11. Cuáles son las estructuras de
control en Java?
Las estructuras de
control de Java son
similares a las de C.
Tenemos las
estructuras de
control
condicionales y
repetitivas clásicas
de la programación
estructurada.
21. 12. Que es el JDK? Cómo se obtiene?
JDK (Java Development Kit) Se trata de un conjunto de
herramientas (programas y librerías) que permiten
desarrollar (compilar, ejecutar, generar
documentación, etc.) programas en lenguaje Java.
Existen versiones del JDK para prácticamente todos los
Sistemas Operativos y existen también distintos
programas comerciales
Sun distribuye gratuitamente el JDK “oficial” para los
siguientes sistemas operativos: Windows
95/98/NT, Solaris y Linux
Se pueden conseguir en Internet
(http://www.javasoft.com/)
Los profesores de la asignatura los facilitarán a los
alumnos que lo deseen en un CD-ROM prestado para
la instalación.
22. 13. Que es NetBeans? Como se
obtiene?
NetBeans se refiere a una
plataforma para el desarrollo de
aplicaciones de escritorio usando
Java y a un entorno de desarrollo
integrado (IDE) desarrollado
usando la Plataforma NetBeans.
NetBeans es un proyecto de
Software Libre. Sun
MicroSystems fundó el proyecto
de código abierto NetBeans en
junio 2000 y continúa siendo el
patrocinador principal de los
proyectos.
Se obtiene de la pagina principal
http://netbeans.org/
23. 14. Conclusiones
- En conclusión java es un lenguaje de
programación moderno y practico - también algo a tener en cuenta es
que cuenta con una plataforma
y la migración entre lenguajes si se que trabaja de la mano con java
maneja anteriormente c o llamada netbeans que aparte de
c++, hace que sea mas fácil la que se crean aplicaciones de
aceptación de este. escritorio el aplicativo o plataforma
es de código abierto,(libre).
- Algo muy importante y que nos
beneficia es que java es un - Es un lenguaje de programación
lenguaje multiplataforma, que lo donde se pueden crear aplicativos
podemos utilizar en distintos como juegos, sistemas complejos
como reportes nominas etc, algo
sistemas operativos. que nos favorece es que java no
cuesta, no necesita instalador y
ocupa poco espacio.