Java..

QUE ES LENGUAJE DE PROGRAMACION ?

·         Un lenguaje de programación es un lenguaje formal diseñado para expresar procesos que pueden ser llevados a cabo por máquinas como las computadoras.

·         Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.1

·         Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se pruebase depurase compila (de ser necesario) y se mantiene el código fuente de un programa informático se le llama programación.

·          

·         También la palabra programación se define como el proceso de creación de un programa de computadora, mediante la aplicación de procedimientos lógicos, a través de los siguientes pasos:

·         El desarrollo lógico del programa para resolver un problema en particular.

·         Escritura de la lógica del programa empleando un lenguaje de programación específico (codificación del programa).

·         Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.

·         Prueba y depuración del programa.

·         Desarrollo de la documentación.

 

Caracteristicas  de java

La característica principal de Javascript, de hecho, es la de ser un lenguaje de scripting, pero, sobre todo, la de ser el lenguaje de scripting por excelencia y, sin lugar a dudas, el más usado. Esta particularidad conlleva una notable serie de ventajas y desventajas según el uso que se le deba dar y teniendo en cuenta la relación que se establece entre el mecanismo cliente-servidor. Para explicar con pocas palabras dicha relación, podemos decir que el servidor envía los datos al cliente y estos datos pueden llegar en en dos formatos diversos: en formato texto (o ASCII) o en formato binario (o código máquina: Elcliente sabe cómo comprender sólo el formato binario (es decir, la secuencia de 1 y 0), por lo que si los datos llegan en este formato son inmediatamente ejecutables (y, por desgracia, no dejan abierta la posibilidad de efectuar controles), mientras que si el formato es diverso tienen que ser interpretados y traducidos al formato binario y, por tanto, el cliente necesitará un filtro, o mejor dicho, un intérprete que sepa leer estos datos y los pueda traducir al binario. Los datos en formato texto son visibles al usuario como simples combinaciones de caracteres y de palabras y son, por tanto, fáciles de manipular, si bien requieran más tiempo para su interpretación a causa de los distintos pasos y de las transformaciones a las que deben someterse para que el cliente pueda comprenderlos: Los datos en formato binario, sin embargo, son difíciles de comprender por el usuario, pero inmediatamente ejecutables por el cliente ya que no requieren fases intermedias.

Garbage Collection

Bueno, cada vez que cree un objeto voy a tener memoria en uso, así podriamos llenar el heap,  incluso podríamos llegar a tener un OutOfMemoryException(cosa muy rara, claro que pasaría si nos quedamos sin memoria, y si no la sabemos utilizar, peor el asunto), para eso necesitamos borrar los objetos que no tengan referencias, que queden perdidosen memoria, en el lenguaje de programación C, la liberación de memoria va por parte del programador, cuidando que objetos no se utilizan y eliminarlos manualmente, pero Java tiene el Garbage Collector, que no es mas que un proceso de la JVM que está revisando que objetos pueden ser borrados y cuales no.

¿Pero cómo la JVM sabe que objetos deben borrarse? Sencillo, si los objetos están perdidos en memoria, no tienen referencias, y por lo tanto no se pueden accesar, esos son los candidatos a ser borrados, en la siguiente pasada del GC.

El GC es un proceso de baja prioridad, por lo que no se pasa en todo momento liberando memoria, si no que pasa de vez en cuando, que podría ser en un tiempo muerto del procesador, aunque también nosotros podríamos sugerirle que pase, pero va a pasar cuando pueda y quiera, un par de ejemplos de como mandarlo llamar son estos.

Jit:

 El compilador JIT convierte los códigos de bytes en código máquina nativo. Este proceso de compilación se realiza sólo una vez y se crea un vínculo entre el código de bytes y el correspondiente código compilado. El propósito de este proceso es aumentar la velocidad de ejecución de programas Java. Puede observar un incremento de la velocidad de más de 50 veces cuando algunas funciones matemáticamente intensivos se llevan a cabo. 

 

 

 

JDK ?

 

·         Java Development Kit o (JDK), es un software que provee herramientas de desarrollo para la creación de programas en Java. Puede instalarse en una computadora local o en una unidad de red.

·         En la unidad de red se pueden tener las herramientas distribuidas en varias computadoras y trabajar como una sola aplicación.

 

 

 

JDK en Windows

En los sistemas operativos Microsoft Windows sus variables de entorno son:

·         JAVAPATH: es una ruta completa del directorio donde está instalado JDK.

·         CLASSPATH: son las bibliotecas o clases de usuario.

·         PATH: variable donde se agrega la ubicación de JDK.

Los programas más importantes que se incluyen son:

·         appletviewer.exe: es un visor de applets para generar sus vistas previas, ya que un applet carece de método main y no se puede ejecutar con el programa java.

·         javac.exe: es el compilador de Java.

·         java.exe: es el intérprete de Java.

·         javadoc.exe: genera la documentación de las clases Java de un programa.

 

 

JRE ?

Java Runtime Environment o JRE es un conjunto de utilidades que permite la ejecución de programas Java.

En su forma más simple, el entorno en tiempo de ejecución de Java está conformado por una Máquina Virtual de Java o JVM, un conjunto de bibliotecas Java y otros componentes necesarios para que una aplicación escrita en lenguaje Java pueda ser ejecutada. El JRE actúa como un "intermediario" entre el sistema operativo y Java.

La JVM es el programa que ejecuta el código Java previamente compilado (bytecode) mientras que las librerías de clases estándar 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 sólo 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 además del JRE (mínimo imprescindible) incluye, entre otros, un compilador para Java.

 

 

 

 

 

 

INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

 

La programación orientada a objetos es una “filosofía”, un modelo de programación,

Con su teoría y su metodología, que conviene conocer y estudiar antes de nada. Un

Lenguaje orientado a objetos es un lenguaje de programación que permite el diseño de

Aplicaciones orientadas a objetos. Dicho esto, lo normal es que toda persona que vaya a

Desarrollar aplicaciones orientadas a objetos aprenda primero la “filosofía” (o adquiera

La forma de pensar) y después el lenguaje, porque “filosofía” sólo hay una y lenguajes

Muchos. En este documento veremos brevemente los conceptos básicos de la

Programación orientada a objetos desde un punto de vista global, sin particularizar para

Ningún lenguaje de programación específico.

 

Herencia

herencia es permitir la creación de nuevas clases basadas en clases existentes.

La herencia es el mecanismo fundamental de relación entre clases en la orientación a objetos. Relaciona las clases de manera jerárquica; una clase padre o superclase sobre otras clases hijas o subclases.

 

IDE:

Eclipse

El entorno de desarrollo Eclipse puede usarse para desarrollar código en cualquier lenguaje de programación. Puede descargar el entorno y varios complementos (plug-ins) de Java para desarrollar sus programas en Java.

NetBeans

NetBeans es un entorno de desarrollo integrado libre, hecho principalmente para el lenguaje de programación Java. Existe además un número importante de módulos para extenderlo. NetBeans IDE1 es un producto libre y gratuito sin restricciones de uso.

NetBeans es un proyecto de código abierto de gran éxito con una gran base de usuarios, una comunidad en constante crecimiento, y con cerca de 100 socios en todo el mundo. Sun MicroSystems fundó el proyecto de código abierto NetBeans en junio de 2000 y continúa siendo el patrocinador principal de los proyectos.

La plataforma NetBeans permite que las aplicaciones sean desarrolladas a partir de un conjunto de componentes de software llamados módulos. Un módulo es un archivo Java que contiene clases de java escritas para interactuar con las APIs de NetBeans y un archivo especial (manifest file) que lo identifica como módulo. Las aplicaciones construidas a partir de módulos pueden ser extendidas agregándole nuevos módulos. Debido a que los módulos pueden ser desarrollados independientemente, las aplicaciones basadas en la plataforma NetBeans pueden ser extendidas fácilmente por otros desarrolladores de software.

BlueJ:

una herramienta gratuita diseñada para ayudar a enseñar Java orientado a objetos a los programadores novatos.

es un entorno integrado de desarrollo (de sus siglas en inglés IDE - Integrated Development Environment) para el lenguaje de programación Java, desarrollado principalmente con propósitos educacionales, pero también es adecuado para el desarrollo de software a pequeña escala.

BlueJ fue desarrollado para apoyar la enseñanza y el aprendizaje de la programación orientada a objetos, y como resultado, su diseño difiere de otros entornos de desarrollo.2 La pantalla principal muestra gráficamente la estructura de clases de una aplicación en desarrollo (en un diagrama muy parecido a UML), y los objetos pueden ser creados y probados interactivamente. Combinado con una interfaz de usuario simple, esta facilidad de interacción permite experimentar de manera fácil con los objetos en desarrollo. Los conceptos de la orientación a objetos (clases, objetos, comunicación a través de llamadas a métodos) son representadas visualmente en el diseño de interacción en la interfaz.

jEdit

 un editor de texto escrito en Java .

jEdit es un editor de texto libre, distribuido bajo los términos de la Licencia pública general de GNU. Está escrito en Java y se ejecuta en Windows,GNU/LinuxMac OS X y otros sistemas operativos que dispongan de la máquina virtual Java.

JEdit dispone de docenas de plugins para diferentes áreas de aplicaciones. Soporta de forma nativa el resaltado de sintaxis coloreado de la sintaxis para más de 200 formatos de fichero. También se puede incluir nuevos formatos de forma manual utilizando ficheros XML. jEdit soporta UTF-8 y otros formatos de codificación del texto.

jEdit se puede personalizar y extender con macros escritas en BeanShellJythonJavaScript y otros lenguajes script.

Tiene amplio soporte de plegado de código y capacidades de plegado de texto, así como ajuste de texto con sangría.

El autor principal de jEdit es Slava Pestov. El editor jEdit se ha estado implementando desde 1998.

 

 

 

POO ?

 

La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. En la actualidad, existe una gran variedad de lenguajes de programación que soportan la orientación a objetos.

JRE ?

Java Runtime Environment o JRE es un conjunto de utilidades que permite la ejecución de programas Java.

En su forma más simple, el entorno en tiempo de ejecución de Java está conformado por una Máquina Virtual de Java o JVM, un conjunto de bibliotecas Java y otros componentes necesarios para que una aplicación escrita en lenguaje Java pueda ser ejecutada. El JRE actúa como un "intermediario" entre el sistema operativo y Java.

La JVM es el programa que ejecuta el código Java previamente compilado (bytecode) mientras que las librerías de clases estándar 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 sólo 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 además del JRE (mínimo imprescindible) incluye, entre otros, un compilador para Java.