You are on page 1of 14

JAVA:

DEFINICION
Qu es Java?

Java es un lenguaje de programacin, el paradigma es orientado a objetos y fue desarrollado por Sun Microsystems a principios
de los aos 90. El lenguaje en s mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos ms simple y
elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulacin directa de punteros o memoria.


CARACTERISTICAS:

La principal caracterstica de Java es la de ser un lenguaje compilado e interpretado. Todo
programa en Java ha de compilarse y el cdigo que se genera bytecodes es interpretado por una
mquina virtual. De este modo se consigue la independencia de la mquina, el cdigo compilado
se ejecuta en mquinas virtuales que si son dependientes de la plataforma.


JDK:

Qu es el JDK (Java Development Kit)
Se trata de un conjunto de herramientas (programas y libreras) que
permiten desarrollar (compilar, ejecutar, generar documentacin, etc.)
programas en lenguaje Java.
Existen versiones del JDK para prcticamente todos los Sistemas
Operativos y existen tambin distintos programas comerciales
Sun distribuye gratuitamente el JDK oficial para los siguientes
sistemas operativos: Windows 95/98/NT, Solaris y Linux
o Se pueden conseguir en Internet (http://www.javasoft.com/)
o Los profesores de la asignatura los facilitarn a los alumnos que lo
deseen en un CD-ROM prestado para la instalacin.
sLos JDK incorporan una herramienta de Debugger (detener la
ejecucin de un programa en la lnea que se desee y poder conocer el
valor de las variables en ese momento)
La versin JDK1.2 se ha empezado a denominar tambin Java 2
JRE (Java Runtime Environment)
o Versin reducida del JDK que permite ejecutar cdigo Java
o No permite compilar ni utilizar el Debugger
o Viene incluido en el JDK pero tambin puede instalarse
separadamente
o Es de libre distribucin

Definicin A JDK
El lenguaje de programacin Java representa uno de los lenguajes de programacin ms
fundamentales de la informtica . La razn de esto es porque de la portabilidad de Java . Cualquier
dispositivo con el entorno de ejecucin de Java puede ejecutar un programa Java, y el programa se
ejecutar el mismo, independientemente del sistema subyacente. Los programadores que deseen
desarrollar aplicaciones Java tambin necesitan el JRE , pero tambin requieren que el kit de
desarrollo de Java. El JDK contiene el JRE , junto con el compilador de Java y bibliotecas de
programacin necesarios para el desarrollo de programas de Java . Java Runtime Environment

JDK:


JRE


Qu es el JRE?
Es un conjunto de utilidades que permite la ejecucin de programas java, En su forma ms
complicada, el entorno en tiempo de ejecucin de Java est conformado por una Mquina Virtual
de Java o JVM, un conjunto de Java y otros componentes innecesarios para que una aplicacin
escrita en lenguaje c++ pueda ser ejecutada. El JRE acta como un "intermediario" entre el sistema
y Java.

La JVM es el programa que interpreta el cdigo Java mientras que las libreras de clases estndar
son las que implementan el API de Java. Ambas JVM y API deben ser consistentes entre s, de ah
que sean distribuidas de modo conjunto.

Un usuario slo necesita el JRE para ejecutar las aplicaciones desarrolladas en lenguaje Java,
mientras que para desarrollar nuevas aplicaciones en dicho lenguaje es necesario un entorno de
desarrollo, denominado JDK, que adems del JRE (mnimo imprescindible) incluye, entre otros, un
compilador para Java.



IDES Java (Eclipse, JCreator, Netbeans).

Los IDE ofrecen un marco de trabajo amigable para la mayora de los lenguajes de programacin tales
como C++, Python, Java, C#, Delphi, Visual Basic, etc. En algunos lenguajes, un IDE puede funcionar como
un sistema en tiempo de ejecucin, en donde se permite utilizar el lenguaje de programacin en forma
interactiva, sin necesidad de trabajo orientado a archivos de texto, como es el caso de Smalltalk u Objective-
C.

Eclipse: Entorno de desarrollo integrado de cdigo abierto multiplataforma para desarrollar proyectos.
Esta plataforma ha sido usada para desarrollar entornos de desarrollointegrados , como el IDE de Java
llamado Java Development Toolkit (JDT) y el compilador (ECJ) que se entrega como parte de Eclipse (y
que son usados tambin para desarrollar el mismo Eclipse). Tambin se puede usar para otros tipos de
aplicaciones cliente, como BitTorrent o Azureus. En Eclipse se pueden usar diferentes lenguajes de
programacin como: Java, ANCI C, C++, JSP, sh, perl, php, sed.



NetBeans: Programa que sirve como IDE que permite programar en distintos lenguajes, es ideal para
trabajar con el lenguaje de desarrollo JAVA (y todos sus derivados), adems ofrece un excelente entorno
para programar en PHP. Tambin se puede descargar una vez instalado NetBeans, los complementos
para programar en C++. La IDE de NetBeans es perfecta y muy comoda para los programadores. Tiene
un excelente balance entre una interfaz con mltiples opciones y un aceptable completamiento de cdigo.

JCreator es un entorno de desarrollo integrado (IDE) para programacin en
lenguaje Java en entorno Windows.Es un producto comercial de la compaa Xinox
Software. Utiliza el J2SDK de Sun Microsystems para compilar y ejecutar los
programas, pero no es necesario para ejecutar el JCreator, ya que a diferencia de
otros IDEs para Java como Netbeans o Eclipse este programa no es una aplicacin
nativa Java.
Hay dos ediciones, una gratuita, llamada LE y otra de pago llamada Pro, que entre otras
cosas aade completamiento de comandos, plantillas, depuracin y soporte de CVS.


Variables de entorno (Classpath, Path).


Qu es el path y el classpath de Java?
Para una cmoda utilizacin de los programas del kit se puede cambiar la variable de entorno 'path' y otra variable:
el 'classpath'. La primera de ellas contiene la ruta de acceso de los programas que con ms frecuencia uses, de modo
que para ejecutar un programa bastar con escribir su nombre y Windows lo buscar, de este modo nos ahorramos
tener que escribir toda la ruta de directorios hasta llegar a &eeacute;l. La segunda indica al JDK dnde debe buscar
los archivos a compilar o ejecutar, sin tener que escribir en cada ejecucin la ruta completa.

As se ejecutara el compilador de java sin haber cambiado las variables, en MS-Dos y con el JDK instalado en el
directorio C:jdk1.3 y la clase a compilar de nombre 'miclase.java' en C:proyectosJava:

C:>C:jdk1.3binjavac C:proyectosJavamiclase.java

As se escribira si se cambian adecuadamente las variables:

C:>javac miclase.java

Es decir, no sera necesario incluir la ruta de acceso del programa ni del archivo a compilar.
Cambiar el path
Para saber que valores contiene la variable path escribiremos lo siguiente:

C:>path

Y se listarn los valores que actualmente posee separados por ';'. Normalmente sern: 'C:Windows' y
'C:WindowsCOMMAND'. Para aadirle el directorio que contiene los programas del JDK ('C:jdk1.3bin' por defecto) lo
ms cmodo y sencillo es editar con un procesador de textos (por ejemplo el Bloc de Notas o el WordPad) el archivo
'C:Autoexec.bat'. En l aparecern los valores anteriores separados por ';'. Bastar con aadir el nuestro
('C:jdk1.3bin') separado por un ';', y guardarlo. Es recomendable poner nuestro directorio al principio en lugar de
aadirlo al final, ya que si queremos ejecutar el programa javaw.exe del JDK el intrprete de comandos buscar el
programa en los directorios definidos en la variable de entorno PATH y encontrar un programa de mismo nombre en
el directorio C:Windows que no es el que nosotros queremos ejecutar.
Para terminar habr que reiniciar el ordenador. Con esto lo que conseguimos es definir la variable path cada vez que
se ejecuta el archivo Autoexec.bat, es decir cada vez que se inicia Windows.

Cambiar el classpath
Para saber qu valores contiene el CLASSPATH (no contiene ninguno por defecto) bastar con teclear

C:>set

y aparecer la lista de variables de entorno con sus correspondientes valores. Si no aparece la variable CLASSPATH
quiere decir que sta no contiene ningn valor. Entre ellas se encuentra tambin la variable de entorno path.

Para asignarle un valor teclearemos lo siguiente en una ventana de MS-DOS:

C:>set CLASSPATH=C:MisClasesDeJava

Siendo MisClasesDeJava el directorio donde tenemos nuestras clases de Java.
Para introducir varios directorios los separaremos por punto y coma:

C:>set CLASSPATH=C:MisClasesDeJava;C:MisOtrasClasesDeJava

Finalmente si la variable CLASSPATH ya contiene valores y queremos aadir ms tendremos que hacerlo del
siguiente modo:


API.

Lenguajes de programacin API
USESDEFRITBR
Mayo 2014
API
Una API (Interfaz de Programacin de Aplicaciones ) es un conjunto de funciones que permite al
programador acceder a servicios de una aplicacin a travs del uso de un lenguaje de
programacin.
Una API ofrece al programador un cierto nivel de abstraccin que enmascara la complejidad de
acceso a un sistema o aplicacin, proponindole un conjunto de funciones de las cuales slo se
conocen los parmetros y los valores devueltos. Asimismo, por analoga con un automvil, el
conductor no necesita conocer la mecnica del motor para conducir el automvil. El conductor slo
tiene acceso a la interfaz compuesta por el volante, los pedales (acelerador, embrague, freno), los
controles (indicadores, luces delanteras, caja de cambios), interruptores (luces de emergencia,
luces antiniebla, bocina, etc.). En cierta forma, es similar a la interfaz presentada al usuario.
Gracias a las API, un desarrollador no necesita preocuparse de cmo funciona una aplicacin
remota ni de la forma en que las funciones fueron implementadas, para poder utilizarla en un
programa. Una API puede estar disponible para un lenguaje especfico o para diversos lenguajes
de programacin.


Multithreading.


Que es Multithreading???
hola chavos esta vez decidi subir algo que esta relacionado con los sistemas operativos espero
que les guste.

En la informtica moderna de PC, los ltimos sistemas operativos y el software se escriben para
sacar ventaja de procesadores ms rpidos y potentes. Mucho del software actual est escrito con
instrucciones ejecutadas secuencialmente. Si hay una parada en el hilo de instrucciones, todas las
instrucciones que estn por debajo en el hilo tienen que esperar hasta que la ejecucin contine.

Y que si el software pudiera continuar hacia abajo del hilo de instrucciones sin tener que esperar?
Bueno, se puede. Los desarrolladores de Software estn comenzando a escribir sistemas
operativos y aplicaciones de tal forma que el software se divide en diferentes piezas llamadas hilos
(threads). Esto permite que porciones del software se ejecuten mientras otras estn detenidas. Por
ejemplo en Microsoft Outlook*, un usuario puede imprimir un e-mail y escribir uno al mismo tiempo.
La impresin ocurre en un hilo mientras que la escritura ocurre en otro. En los PCs actuales con
solo un procesador, los hilos son ejecutados secuencialmente donde a cada hilo se le da una
tajada del tiempo del procesador. En esencia estos hilos se turnan para utilizar el procesador. Este
intercambio puede ser especialmente til cuando un hilo envuelve esperar por una respuesta del
usuario o la entrada de un comando.

Otro hilo puede continuar usando el procesador mientras que el primer hilo espera por el usuario.
La tecnologa Hyper-Threading fue diseada para permitir que un solo procesador puede ejecutar
ambos hilos al mismo tiempo. Los procesadores actuales tienen muchos recursos de ejecucin que
no son utilizados. La tecnologa Hyper-Threading permite un uso ms eficiente del procesador
dndole a un hilo el acceso a algunos recursos de ejecucin y a otro hilo acceso a otros recursos
de ejecucin al mismo tiempo. Si los hilos no compiten por los mismos recursos, el usuario puede
experimentar un mayor rendimiento con tecnologa HT.

Los sistemas operativos modernos como Microsoft Windows XP ya soportan multithread y soportan
la tecnologa Hyper-Threading. Tambin hay muchas aplicaciones que fueron escritas para sacar
ventaja de sistemas de doble procesador, de las cuales la tecnologa HT puede sacar ventaja. Ms
an, muchos desarrolladores de software estn actualmente aadiendo funcionalidad de hilos a
futuras versiones de aplicaciones como Adobe* AfterEffects* 5.5, XMPEG* 4.5/Divx* 5.02, y Magix*
MP3 maker, en las cuales los usuarios vern un aumento de velocidad gracias a la tecnologa HT.



JVM

Una Mquina virtual Java (en ingls Java Virtual Machine, JVM) es un mquina virtual de proceso
nativo, es decir, ejecutable en una plataforma especfica, capaz de interpretar y ejecutar
instrucciones expresadas en un cdigo binario especial (el bytecode Java), el cual es generado por
el compilador del lenguaje Java
El cdigo binario de Java no es un lenguaje de alto nivel, sino un verdadero cdigo mquina de
bajo nivel, viable incluso como lenguaje de entrada para un microprocesador fsico. Como todas las
piezas del rompecabezas Java, fue desarrollado originalmente por Sun Microsystems.
La JVM es una de las piezas fundamentales de la plataforma Java. Bsicamente se sita en un
nivel superior al Hardware del sistema sobre el que se pretende ejecutar la aplicacin, y este acta
como un puente que entiende tanto el bytecode, como el sistema sobre el que se pretende
ejecutar. As, cuando se escribe una aplicacin Java, se hace pensando que ser ejecutada en una
mquina virtual Java en concreto, siendo sta la que en ltima instancia convierte de cdigo
bytecode a cdigo nativo del dispositivo final




Versiones Java (J2SE, J2EE, J2ME)





Estas tres distribuciones son:
a) J2SE o simplemente Java SE: Java 2 Standard Edition o Java Standard Edition. Orientado al desarrollo
de aplicaciones cliente / servidor. No incluye soporte a tecnologas para internet. Es la base para las otras
distribuciones Java y es la plataforma que utilizaremos nosotros en este curso por ser la ms utilizada.
b) J2EE: Java 2 Enterprise Edition. Orientado a empresas y a la integracin entre sistemas. Incluye soporte a
tecnologas para internet. Su base es J2SE.
c) J2ME: Java 2 Micro Edition. Orientado a pequeos dispositivos mviles (telfonos, tabletas, etc.).




En esta imagen vemos, de forma orientativa, como J2EE expande a J2SE, mientras que J2ME recorta a
J2SE al tiempo que tiene una fraccin de contenido diferenciada exclusiva de J2ME. En realidad hablar de
expansiones y recortes no es correcto, porque cada distribucin es en s misma distinta puesto que estn
concebidas con distintas finalidades. Por tanto no puede decirse que sean expansiones o recortes, pero de
forma coloquial muchas veces se interpreta as.
Java hoy en da es ms que un lenguaje de programacin, como veremos ms adelante. El lenguaje Java
estndar ha experimentado numerosos cambios desde la versin primigenia, JDK 1.0, as como un enorme
incremento en el nmero de recursos disponibles para los programadores Java. Podemos citar en la evolucin
del Java estndar:


Definicin de Bytecode
Anuncios

Cdigo intermedio entre el cdigo fuente y el cdigo mquina. Suele tratrselo como un
fichero binario que contiene un programa ejecutable similar a un mdulo objeto.

Es una forma de salida utilizada por los implementadores de lenguajes para reducir la
dependencia con respecto al hardware y facilitar su interpretacin.

En algunos casos existen traductores dinmicos o compiladores just-in-time que traducen el
bytecode a cdigo mquina justo antes de ejecutar el programa para mejorar la velocidad.

Los bytecode suelen ser interpretados por programas que suelen llamarse mquina virtual.

Caractersticas destacables

Su principal ventaja es la portabilidad, pues el mismo cdigo puede ser ejecutado en
diferentes plataformasy arquitecturas.

Esta ventaja la tiene tambin los lenguajes interpretados, aunque generalmente con
mejor rendimiento. Por esto, muchos lenguajes interpretados se compilan a bytecode y
despus son ejecutados por un intrpretede bytecode; es el caso de los
lenguajes Perl, PHP y Python.

En Java generalmente se transmite el bytecode a la mquina receptora y esta se encarga de
utilizar uncompilador just-in-time para traducirlo a cdigo mquina antes de su ejecucin.
El bytecode recibe su nombre porque usualmente cada cdigo de operacin tiene una longitud
de un byte, si bien la longitud del cdigo de las instrucciones vara. Cada instruccin tiene un
cdigo de operacin entre 0 y 255 seguido de parmetros tales como los registros o las
direcciones de memoria. Esta sera la descripcin de un caso tpico, si bien la especificacin
del bytecode depende ampliamente del lenguaje.




Objeto. (POO)
Que es P.O.O

La Programacin Orientada a Objetos (POO u OOPsegn sus siglas en ingls)
es un paradigma de programacin que usa objetos y sus interacciones para
disear aplicaciones y programas de computadora. Est basado en varias
tcnicas, incluyendo herencia, modularidad, polimorfismo, y encapsulamiento.
Su uso se populariz a principios de la dcada de 1990. Actualmente son
muchos los lenguajes de programacin que soportan la orientacin a
objetos.(4)
El trmino de Programacin Orientada a Objetos indica ms una forma de diseo y
una metodologa de desarrollo desoftware que un lenguaje de programacin, ya
que en realidad se puede aplicar el Diseo Orientado a Objetos (Eningls abreviado
OOD, Object Oriented Design), a cualquier tipo de lenguaje de programacin.
El desarrollo de la OOP empieza a destacar durante la dcada de lo 80 tomando en
cuenta la programacin estructurada, a la que engloba y dotando al programador
de nuevos elementos para el anlisis y desarrollo de software.(1)


La programacin Orientada a objetos (POO) es una forma especial de programar, ms
cercana a como expresaramos las cosas en la vida real que otros tipos de
programacin.
Con la POO tenemos que aprender a pensar las cosas de una manera distinta, para
escribir nuestros programas en trminos de objetos, propiedades, mtodos y otras
cosas que veremos rpidamente para aclarar conceptos y dar una pequea base que
permita soltarnos un poco con este tipo de programacin.




Clase. (POO)


Objeto : entidad compuesta de unos datos y las operaciones que
realizamos sobre esos datos.
Clase : Los datos y las operaciones comunes a un conjunto de objetos
forman un conjunto que se conoce como clase.
Metodologa y Tcnicas de Programacin I 2003/2004 4
CLASES
Las clases
Las clases C++ permiten definir nuevos tipos de datos,
Cada clase es un nuevo tipo,
Cada elemento de la clase se caracteriza por ciertos valores y las
operaciones disponibles para crear dichos elementos, modificarlos y
destruirlos.
Podemos establecer un paralelismo entre los tipos de datos vistos hasta el
momento (int, char, arrays, estructuras,) y las clases:
El tipo int est definido por
el lenguaje y las operaciones que
pueden realizarse estn completamente
determinadas.
Una clase CL no est definida por el
lenguaje, por lo que debe ser definida
por el programador.
Esta definicin debe contener
dos cosas: datos y operaciones




Abstraccin (POO).












Expresa las caractersticas
esenciales de un objeto, las
cuales distinguen al objeto de
los dems.


Encapsulacin (POO).

POO - Encapsulacin de datos
USESDEFRITBR
Mayo 2014
El concepto de encapsulacin
La encapsulacin es un mecanismo que consiste en organizar datos y mtodos de una estructura,
conciliando el modo en que el objeto se implementa, es decir, evitando el acceso a datos por
cualquier otro medio distinto a los especificados. Por lo tanto, la encapsulacin garantiza la
integridad de los datos que contiene un objeto.




Polimorfismo (POO)

. Es la capacidad que tienen los
objetos de una clase de
responder al mismo mensaje o
evento en funcion de los
parametros utilizados durante su
invocacin.
Herencia (POO).

Es una propiedad que permite
que los objetos sean creados
a partir de otros ya existentes,
obteniendo caractersticas
(mtodos y atributos) similares
a los ya existentes.

You might also like