SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
Desenvolvimento
    Elenilson Vieira
    elenilson.vieira.filho@gmail.com
Usando o javac
• javac [options] [source files]

• Exemplos:
  – javac – help
  – javac –classpath com:. –g Foo.java Bar.java
Usando o javac
• Opção –d
  – Permite que você defina um diretório para
    seus .class
    • javac –d ../classes MyClass.java


  – Se o diretório destino não existir, o
    compilador mostrará um erro
Usando o java
• java [options] class [args]
  – [options] e [args] são opcionais e podem ter
    múltiplos argumentos
  – Não precisa especificar o “.class”
Usando as Propriedades do Sistema

• Pode ser usada para acessar uma
  informação persistente do sistema
  – Java Virtual Machine, Sistema Operacional,
    etc


• Você pode adicionar ou recuperar suas
  próprias propriedades
  – java –DmyProp=MyValue Class a 1
Usando as Propriedades do Sistema

• Se o valor tiver espaços, esse deve ter
  aspas
  – java –DcmdProp=“cmdVal take 2” TestProps

• Você pode adicionar e recuperar suas
  propriedades usando setProperty(String
  key, String value) e getProperty(String key)

• getProperty retorna uma propriedade como
  String
Usando as Propriedades do Sistema

Properties p = System.getProperties();
p.setProperty(quot;myPropquot;, quot;myValuequot;);
p.getProperty(“os.name”)
Argumentos de Linha de Comando
• public static void main(String args[]){}
  – args contém os argumentos passados no
    java para a classe


• Exemplo
  – java MyClass x eu
     • args[0] = x
     • args[1] = eu
Procurando por outras Classes
• Quando usamos o java e javac, na
  maioria dos casos queremos que ele ache
  outras classes

• Classes do JSE
  – Pacotes:
    • java.lang
    • java.util
Procurando por outras Classes
• Ambos tem uma lista de locais que
  procuram por outras classes

• Se achar duas ou mais classes com o
  mesmo nome, ambos usam a que primeiro
  achar

• Primeiro vão no diretório do JSE
Procurando por outras Casses
• Depois procuram no diretório definido
  pelo classpath

• O classpath pode ser definido. Se não
  for definido é usado o definido pela
  variável de ambiente do Sistema
Classpath
• Consiste em um número variável de
  locais de diretórios separados por
  delimitadores
  – / no Unix
  –  no Windows
       r




• Separador de locais
  –:
Classpath
• Exemplo
  – classpath /home/eu:/var/www
  – Especifica dois diretórios a se procurar
     • /home/eu
     • /var/www


• Quando especifica um diretório não está
  especificando os acima dele
  – /home ou /var

• Pode-se usar apenas [-cp]
Classpath
• Quando especificamos o classpath o java
  e javac não mais procuram no diretório
  corrente

• Coloca-se um ponto
  – classpath /home/elenilson:/var/www:.


• A ordem dos diretórios importa
Classpath
• O diretório passado tem que
  – Absoluto
  – Relativo ao diretório corrente
Pacotes
• O nome do pacote não pode ser
  subdividido

• Pode-se usar uma classe
  – Colocando seu nome totalmente qualificado
    • com.foo.MyClass = ...
  – Colocando uma declaração import e usando
    seu nome falso
Pacotes
Java Archive (JAR)
• Criar
  – jar –cf MeuJar.jar meuDiretório
  – Cria o JAR MeuJar.jar com a aplicação do
    diretório meuDiretório


• Listar conteúdo
  – jar –tf MeuJar.jar
Java Arquive (JAR)
• Procurar arquivos em pacotes do jar é
  semelhante

• Basta incluir no final do classpath o
  nome do jar
  – javac –cp ws/MeuJar.jar Exemplo.java
jre/lib/ext com JAR
• java e javac utilizam esse diretório para
  encontrar classes que sua aplicação
  precisa

• Isso é definido por padrão

• Se você colocar um jar dentro desse
  diretório, vai poder usar as classes do
  jar sem necessitar do classpath
Import estático
• É usado quando você quer utilizar os
  membros estáticos de uma classe

• Cuidado com ambiguidades
  – Se você fizer import estático de um
    Integer e um Long e usar MAX_VALUE, o
    compilador não saberá de quem é e acusará
    um erro.
Import Estático
Dúvidas?

Contenu connexe

En vedette (20)

Innovagir
InnovagirInnovagir
Innovagir
 
Especubol s
Especubol sEspecubol s
Especubol s
 
Microsoft word parte 1 web
Microsoft word parte 1 webMicrosoft word parte 1 web
Microsoft word parte 1 web
 
Red
RedRed
Red
 
Panís cfgm borges t7 t8
Panís cfgm borges t7 t8Panís cfgm borges t7 t8
Panís cfgm borges t7 t8
 
Exam
ExamExam
Exam
 
Sistema de informacion
Sistema de informacionSistema de informacion
Sistema de informacion
 
50 ideas
50 ideas50 ideas
50 ideas
 
Arte y los sentidos
Arte y los sentidosArte y los sentidos
Arte y los sentidos
 
Yancy espitia
Yancy espitiaYancy espitia
Yancy espitia
 
Archivo gbi angie
Archivo gbi angieArchivo gbi angie
Archivo gbi angie
 
Coincident Equations with hints
Coincident Equations with hintsCoincident Equations with hints
Coincident Equations with hints
 
Bloque 0
Bloque 0Bloque 0
Bloque 0
 
Independencia del BCE
Independencia del BCEIndependencia del BCE
Independencia del BCE
 
Proyecto graficas policia ter
Proyecto graficas policia terProyecto graficas policia ter
Proyecto graficas policia ter
 
Достопримечательности Британии
Достопримечательности БританииДостопримечательности Британии
Достопримечательности Британии
 
Elementos, formas y situaciones de la argumentación
Elementos, formas y situaciones de la argumentaciónElementos, formas y situaciones de la argumentación
Elementos, formas y situaciones de la argumentación
 
Presentation1
Presentation1Presentation1
Presentation1
 
Resumen fotografico comunicaciones moviles
Resumen fotografico comunicaciones movilesResumen fotografico comunicaciones moviles
Resumen fotografico comunicaciones moviles
 
Empathize and define ii
Empathize and define iiEmpathize and define ii
Empathize and define ii
 

Similaire à Desenvolvimento

Novas Funcionalidade no PHP 5.3
Novas Funcionalidade no PHP 5.3Novas Funcionalidade no PHP 5.3
Novas Funcionalidade no PHP 5.3Douglas V. Pasqua
 
5 Maneiras de melhorar seu código PHP
5 Maneiras de melhorar seu código PHP5 Maneiras de melhorar seu código PHP
5 Maneiras de melhorar seu código PHPAugusto das Neves
 
Como usar a documentação da API Java 2
Como usar a documentação da API Java 2Como usar a documentação da API Java 2
Como usar a documentação da API Java 2Denis L Presciliano
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02Natanael Fonseca
 
Php5 e a orientação a objetos
Php5 e a orientação a objetosPhp5 e a orientação a objetos
Php5 e a orientação a objetosxbacon
 
Curso Java Básico - Aula 04
Curso Java Básico - Aula 04Curso Java Básico - Aula 04
Curso Java Básico - Aula 04Natanael Fonseca
 
Java 02 Iniciando Uso Java
Java 02 Iniciando Uso JavaJava 02 Iniciando Uso Java
Java 02 Iniciando Uso JavaRegis Magalhães
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao javaArmando Daniel
 
55 New Things in Java 7 - Brazil
55 New Things in Java 7 - Brazil55 New Things in Java 7 - Brazil
55 New Things in Java 7 - BrazilStephen Chin
 
Javascript para CSharpers 1 - Comparando
Javascript para CSharpers   1 - ComparandoJavascript para CSharpers   1 - Comparando
Javascript para CSharpers 1 - ComparandoWesley Lemos
 
Javascript para CSharpers 3 - Conceitos
Javascript para CSharpers 3 - ConceitosJavascript para CSharpers 3 - Conceitos
Javascript para CSharpers 3 - ConceitosWesley Lemos
 

Similaire à Desenvolvimento (20)

java_avancado.pdf
java_avancado.pdfjava_avancado.pdf
java_avancado.pdf
 
Java primeiros-passos
Java primeiros-passosJava primeiros-passos
Java primeiros-passos
 
Novas Funcionalidade no PHP 5.3
Novas Funcionalidade no PHP 5.3Novas Funcionalidade no PHP 5.3
Novas Funcionalidade no PHP 5.3
 
5 Maneiras de melhorar seu código PHP
5 Maneiras de melhorar seu código PHP5 Maneiras de melhorar seu código PHP
5 Maneiras de melhorar seu código PHP
 
Como usar a documentação da API Java 2
Como usar a documentação da API Java 2Como usar a documentação da API Java 2
Como usar a documentação da API Java 2
 
Java
JavaJava
Java
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
 
Php5 e a orientação a objetos
Php5 e a orientação a objetosPhp5 e a orientação a objetos
Php5 e a orientação a objetos
 
Aula4
Aula4Aula4
Aula4
 
JBossClassLoader
JBossClassLoaderJBossClassLoader
JBossClassLoader
 
Curso Java Básico - Aula 04
Curso Java Básico - Aula 04Curso Java Básico - Aula 04
Curso Java Básico - Aula 04
 
Java 02 Iniciando Uso Java
Java 02 Iniciando Uso JavaJava 02 Iniciando Uso Java
Java 02 Iniciando Uso Java
 
Prog web 06-php-oo
Prog web 06-php-ooProg web 06-php-oo
Prog web 06-php-oo
 
Doctrine2 Seminário PHP
Doctrine2 Seminário PHPDoctrine2 Seminário PHP
Doctrine2 Seminário PHP
 
Php 08 Oo
Php 08 OoPhp 08 Oo
Php 08 Oo
 
PHP FrameWARks - FISL
PHP FrameWARks - FISLPHP FrameWARks - FISL
PHP FrameWARks - FISL
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
 
55 New Things in Java 7 - Brazil
55 New Things in Java 7 - Brazil55 New Things in Java 7 - Brazil
55 New Things in Java 7 - Brazil
 
Javascript para CSharpers 1 - Comparando
Javascript para CSharpers   1 - ComparandoJavascript para CSharpers   1 - Comparando
Javascript para CSharpers 1 - Comparando
 
Javascript para CSharpers 3 - Conceitos
Javascript para CSharpers 3 - ConceitosJavascript para CSharpers 3 - Conceitos
Javascript para CSharpers 3 - Conceitos
 

Plus de Elenilson Vieira (20)

Aulão de JPA com Tomaz Lavieri
Aulão de JPA com Tomaz LavieriAulão de JPA com Tomaz Lavieri
Aulão de JPA com Tomaz Lavieri
 
Sistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebSistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias Web
 
JavaEE
JavaEEJavaEE
JavaEE
 
JavaME no Mercado Mobile
JavaME no Mercado MobileJavaME no Mercado Mobile
JavaME no Mercado Mobile
 
JavaFX 1.2
JavaFX 1.2JavaFX 1.2
JavaFX 1.2
 
Apresentação da Doom
Apresentação da DoomApresentação da Doom
Apresentação da Doom
 
Palestra sobre a Sun
Palestra sobre a SunPalestra sobre a Sun
Palestra sobre a Sun
 
Apresentação da RedeSoft
Apresentação da RedeSoftApresentação da RedeSoft
Apresentação da RedeSoft
 
Java Collections - Tomaz Lavieri
Java Collections - Tomaz LavieriJava Collections - Tomaz Lavieri
Java Collections - Tomaz Lavieri
 
A Sun no Meio Acadêmico - IESP/FatecPB
A Sun no Meio Acadêmico - IESP/FatecPBA Sun no Meio Acadêmico - IESP/FatecPB
A Sun no Meio Acadêmico - IESP/FatecPB
 
Mini-Curso de Sockets no Unipê
Mini-Curso de Sockets no UnipêMini-Curso de Sockets no Unipê
Mini-Curso de Sockets no Unipê
 
JavaME
JavaMEJavaME
JavaME
 
Concorrência com Java
Concorrência com JavaConcorrência com Java
Concorrência com Java
 
Programas Acadêmicos da Sun no Unipê
Programas Acadêmicos da Sun no UnipêProgramas Acadêmicos da Sun no Unipê
Programas Acadêmicos da Sun no Unipê
 
Mundo Livre e Aberto
Mundo Livre e AbertoMundo Livre e Aberto
Mundo Livre e Aberto
 
JavaME - Aula 2
JavaME - Aula 2JavaME - Aula 2
JavaME - Aula 2
 
JavaME - Aula 1
JavaME - Aula 1JavaME - Aula 1
JavaME - Aula 1
 
Apostila JavaME
Apostila JavaMEApostila JavaME
Apostila JavaME
 
Threads
ThreadsThreads
Threads
 
Sincronização - Glêdson Elias
Sincronização - Glêdson EliasSincronização - Glêdson Elias
Sincronização - Glêdson Elias
 

Desenvolvimento

  • 1. Desenvolvimento Elenilson Vieira elenilson.vieira.filho@gmail.com
  • 2. Usando o javac • javac [options] [source files] • Exemplos: – javac – help – javac –classpath com:. –g Foo.java Bar.java
  • 3. Usando o javac • Opção –d – Permite que você defina um diretório para seus .class • javac –d ../classes MyClass.java – Se o diretório destino não existir, o compilador mostrará um erro
  • 4. Usando o java • java [options] class [args] – [options] e [args] são opcionais e podem ter múltiplos argumentos – Não precisa especificar o “.class”
  • 5. Usando as Propriedades do Sistema • Pode ser usada para acessar uma informação persistente do sistema – Java Virtual Machine, Sistema Operacional, etc • Você pode adicionar ou recuperar suas próprias propriedades – java –DmyProp=MyValue Class a 1
  • 6. Usando as Propriedades do Sistema • Se o valor tiver espaços, esse deve ter aspas – java –DcmdProp=“cmdVal take 2” TestProps • Você pode adicionar e recuperar suas propriedades usando setProperty(String key, String value) e getProperty(String key) • getProperty retorna uma propriedade como String
  • 7. Usando as Propriedades do Sistema Properties p = System.getProperties(); p.setProperty(quot;myPropquot;, quot;myValuequot;); p.getProperty(“os.name”)
  • 8. Argumentos de Linha de Comando • public static void main(String args[]){} – args contém os argumentos passados no java para a classe • Exemplo – java MyClass x eu • args[0] = x • args[1] = eu
  • 9. Procurando por outras Classes • Quando usamos o java e javac, na maioria dos casos queremos que ele ache outras classes • Classes do JSE – Pacotes: • java.lang • java.util
  • 10. Procurando por outras Classes • Ambos tem uma lista de locais que procuram por outras classes • Se achar duas ou mais classes com o mesmo nome, ambos usam a que primeiro achar • Primeiro vão no diretório do JSE
  • 11. Procurando por outras Casses • Depois procuram no diretório definido pelo classpath • O classpath pode ser definido. Se não for definido é usado o definido pela variável de ambiente do Sistema
  • 12. Classpath • Consiste em um número variável de locais de diretórios separados por delimitadores – / no Unix – no Windows r • Separador de locais –:
  • 13. Classpath • Exemplo – classpath /home/eu:/var/www – Especifica dois diretórios a se procurar • /home/eu • /var/www • Quando especifica um diretório não está especificando os acima dele – /home ou /var • Pode-se usar apenas [-cp]
  • 14. Classpath • Quando especificamos o classpath o java e javac não mais procuram no diretório corrente • Coloca-se um ponto – classpath /home/elenilson:/var/www:. • A ordem dos diretórios importa
  • 15. Classpath • O diretório passado tem que – Absoluto – Relativo ao diretório corrente
  • 16. Pacotes • O nome do pacote não pode ser subdividido • Pode-se usar uma classe – Colocando seu nome totalmente qualificado • com.foo.MyClass = ... – Colocando uma declaração import e usando seu nome falso
  • 18. Java Archive (JAR) • Criar – jar –cf MeuJar.jar meuDiretório – Cria o JAR MeuJar.jar com a aplicação do diretório meuDiretório • Listar conteúdo – jar –tf MeuJar.jar
  • 19. Java Arquive (JAR) • Procurar arquivos em pacotes do jar é semelhante • Basta incluir no final do classpath o nome do jar – javac –cp ws/MeuJar.jar Exemplo.java
  • 20. jre/lib/ext com JAR • java e javac utilizam esse diretório para encontrar classes que sua aplicação precisa • Isso é definido por padrão • Se você colocar um jar dentro desse diretório, vai poder usar as classes do jar sem necessitar do classpath
  • 21. Import estático • É usado quando você quer utilizar os membros estáticos de uma classe • Cuidado com ambiguidades – Se você fizer import estático de um Integer e um Long e usar MAX_VALUE, o compilador não saberá de quem é e acusará um erro.