SlideShare a Scribd company logo
1 of 37
Java por
dentro
   @paulo_caelum
   Paulo Silveira
   paulo.silveira@caelum.com.br
Quem é
   Paulo
Silveira?
como minha mãe me vê
como minha mãe me vê   como meus estagiários
                            me vêem
como minha mãe me vê   como meus estagiários
                            me vêem




   como eu me vejo
como minha mãe me vê   como meus estagiários
                            me vêem




   como eu me vejo     como sou na verdade
Linguagem Java
-   O.O.
-   bibliotecas
-   parece C++
-   vários SOs
PLATAFORMA
Linguagem Java
PLATAFORMA JAVA
-   Portável
-   Facil
-   Segura
-   Onipresente
Máquina Virtual Java
Máquina Virtual Java

    Código


   Executável


    Windows
Máquina Virtual Java

 Código       Código       Código


Executável   Executável   Executável


  Linux       Windows        Mac
Máquina Virtual Java

             Código


           “Executável”




Linux       Windows       Mac
Máquina Virtual Java

                Código


             “Executável”

         Máquina Virtual Java JVM


Linux          Windows              Mac
Máquina Virtual Java

                Código         linguagem Java


             “Executável”      bytecode Java


         Máquina Virtual Java JVM


Linux          Windows              Mac
Bytecode????

CAFEBABE0003101DA060F90100118012A013014701570161063C696E69743E1032829
56104436F646510F4C696E654E756D6265725461626C651046D61696E1016285B4C6A
6176612F6C616E672F537472696E673B295610A536F7572636546696C6510A48656C6
C6F2E6A617661C07087017C01801910C6F6C612062797465636F6465701AC01B01C10
548656C6C6F10106A6176612F6C616E672F4F626A65637410106A6176612F6C616E67
2F53797374656D1036F757410154C6A6176612F696F2F5072696E7453747265616D3B
10136A6176612F696F2F5072696E7453747265616D1077072696E746C6E1015284C6A
6176612F6C616E672F537472696E673B2956021050600000201070801090001D01010
0052AB701B100010A0006010001090B0C01090002502010009B202123B604B100010A
000A0200030804010D00020E
Bytecode????
          B1 = lreturn
            12= ldc
         256 opcodes!

 http://java.sun.com/docs/books/jvms/
second_edition/html/Mnemonics.doc.html
Bytecode????
Compiled from "Onibus.java"
class Teste {
                                                      bytecode
    public static void main(java.lang.String);
      Code:
         0: new           #2 // class Onibus
         3: dup
         4: invokespecial #3 Onibus."<init>":()V
         7: astore_1
         8: aload_1
         9: ldc           #4 // String Jabaquara...
        11: putfield      #5
          // Field Onibus.linha:Ljava/lang/String;
                                                        Mac
        14: return
}
Bytecode????
Compiled from "Onibus.java"
class Teste {
                                                      bytecode
    public static void main(java.lang.String);
      Code:
         0: new           #2 // class Onibus
         3: dup
         4: invokespecial #3 Onibus."<init>":()V        JVM
         7: astore_1
         8: aload_1
         9: ldc           #4 // String Jabaquara...
        11: putfield      #5
          // Field Onibus.linha:Ljava/lang/String;
                                                        Mac
        14: return
}
Java, ufa!

public class Onibus {
	 String nome;
	 String linha;
}

class Teste {
	 public static void main(String args) {
	 	 Onibus o = new Onibus();
	 	 o.linha = "Jabaquara-Liberdade";
	 }
}
Paulo! Então esse tal de Java
                      é lento?




                 traduzir bytecode
                       toda hora!!!
for (int x = 0; x < 100; x++) {
   delete(x);
}
inc   x;
jmp   delete;
cmp   x, 100;
jmp   for;

                Como fazer melhor?
inc   x;
jmp   delete;
inc   x;
jmp   delete;
inc   x;
jmp   delete;
inc   x;
jmp   delete;
...
cmp   x, 100;
jmp   for
for (int x = 0; x < 100; x+=10) {
   delete(x);
   delete(x+1);
   delete(x+2);
   delete(x+3);
   delete(x+4);
   delete(x+5);
   delete(x+6);
   delete(x+7);
   delete(x+8);
   delete(x+9);
}
for (int x = 0; x < 100; x+=10) {
   delete(x);
   delete(x+1);
   delete(x+2);
   delete(x+3);
   delete(x+4);
   delete(x+5);
   delete(x+6);
   delete(x+7); O que seu chefe fará
   delete(x+8);   ao ver esse código?
   delete(x+9);
}
Plataforma java: detalhes da JVM
Chega de bla bla bla
 1 1 2 3 5 8 13 21

-XX:+PrintCompilation
Máquina Virtual Java

           Multi-plataforma
 Gerenciamento de memória
                 Segurança
                   Sandbox
               Otimizações
              JIT Compiler
  +rápida que estática?
IBM JVM?
 Oracle JVM?

 Especificação
      x
Implementação
PLATAFORMA JAVA
1. Maquina Virtual - JVM
2. Bibliotecas - api
3. Linguagem
    Java
PLATAFORMA JAVA
1. Maquina Virtual - JVM
2. Bibliotecas - api
3. Linguagem
    Java
PLATAFORMA JAVA
1. Maquina Virtual - JVM
2. Bibliotecas - api
            ns
3. Linguagem
    Java
Máquina Virtual Java

 Ruby        Scala    Python    Groovy

Clojure
                 bytecode      ?Android?




   Linux         Windows       Mac
Máquina Virtual Java

 Ruby        Scala        Python        Groovy

Clojure
                  bytecode             ?Android?

            Máquina Virtual Java JVM


   Linux          Windows              Mac
Por que tanto Java?

• Sistemas heterogêneos
• Em todos os lugares
• Concorrência
• Você vai usar a JVM
• Importante conhecê-la profundamente
Obrigado!


                  Paulo Silveira
  paulo.silveira@caelum.com.br

More Related Content

What's hot

Java recursos avançados - multithreading
Java   recursos avançados - multithreadingJava   recursos avançados - multithreading
Java recursos avançados - multithreadingArmando Daniel
 
Introdução a Linguagem Java
Introdução a Linguagem JavaIntrodução a Linguagem Java
Introdução a Linguagem JavaUFPA
 
Resolvendo problemas com o Bbundler
Resolvendo problemas com o BbundlerResolvendo problemas com o Bbundler
Resolvendo problemas com o BbundlerRodrigo Alves Vieira
 
Resolvendo problemas de dependências com o Bundler
Resolvendo problemas de dependências com o BundlerResolvendo problemas de dependências com o Bundler
Resolvendo problemas de dependências com o BundlerFrevo on Rails
 
RubyMasters 2011 - Beyond Ruby with NodeJS
RubyMasters 2011 - Beyond Ruby with NodeJSRubyMasters 2011 - Beyond Ruby with NodeJS
RubyMasters 2011 - Beyond Ruby with NodeJSEmerson Macedo
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAThiago Cifani
 
C# 6.0 - DotNetBaixada - Novembro/2015
C# 6.0 - DotNetBaixada - Novembro/2015C# 6.0 - DotNetBaixada - Novembro/2015
C# 6.0 - DotNetBaixada - Novembro/2015Renato Groff
 
Linux Real-Time e Java Real Time, um mundo sem delays! por Flávio Buccianti
Linux Real-Time e Java Real Time, um mundo sem delays! por Flávio BucciantiLinux Real-Time e Java Real Time, um mundo sem delays! por Flávio Buccianti
Linux Real-Time e Java Real Time, um mundo sem delays! por Flávio BucciantiJoao Galdino Mello de Souza
 
Programação Paralela - Threads
Programação Paralela - ThreadsProgramação Paralela - Threads
Programação Paralela - ThreadsGlaucio Scheibel
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nívelIgor Sobreira
 
Programação Concorrente - Gerenciamento de Threads - Parte I
Programação Concorrente - Gerenciamento de Threads - Parte IProgramação Concorrente - Gerenciamento de Threads - Parte I
Programação Concorrente - Gerenciamento de Threads - Parte IFabio Moura Pereira
 

What's hot (20)

Java recursos avançados - multithreading
Java   recursos avançados - multithreadingJava   recursos avançados - multithreading
Java recursos avançados - multithreading
 
Introdução a Linguagem Java
Introdução a Linguagem JavaIntrodução a Linguagem Java
Introdução a Linguagem Java
 
drools + robocode
drools + robocodedrools + robocode
drools + robocode
 
Resolvendo problemas com o Bbundler
Resolvendo problemas com o BbundlerResolvendo problemas com o Bbundler
Resolvendo problemas com o Bbundler
 
Resolvendo problemas de dependências com o Bundler
Resolvendo problemas de dependências com o BundlerResolvendo problemas de dependências com o Bundler
Resolvendo problemas de dependências com o Bundler
 
RubyMasters 2011 - Beyond Ruby with NodeJS
RubyMasters 2011 - Beyond Ruby with NodeJSRubyMasters 2011 - Beyond Ruby with NodeJS
RubyMasters 2011 - Beyond Ruby with NodeJS
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVA
 
Robocode
RobocodeRobocode
Robocode
 
Robocode
RobocodeRobocode
Robocode
 
C# 6.0 - DotNetBaixada - Novembro/2015
C# 6.0 - DotNetBaixada - Novembro/2015C# 6.0 - DotNetBaixada - Novembro/2015
C# 6.0 - DotNetBaixada - Novembro/2015
 
Linux Real-Time e Java Real Time, um mundo sem delays! por Flávio Buccianti
Linux Real-Time e Java Real Time, um mundo sem delays! por Flávio BucciantiLinux Real-Time e Java Real Time, um mundo sem delays! por Flávio Buccianti
Linux Real-Time e Java Real Time, um mundo sem delays! por Flávio Buccianti
 
52 java
52 java52 java
52 java
 
Programação Paralela - Threads
Programação Paralela - ThreadsProgramação Paralela - Threads
Programação Paralela - Threads
 
Sistemas Distribuídos - Multithreading
Sistemas Distribuídos - MultithreadingSistemas Distribuídos - Multithreading
Sistemas Distribuídos - Multithreading
 
Erros comuns em java
Erros comuns em javaErros comuns em java
Erros comuns em java
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nível
 
Introducing Ruby
Introducing RubyIntroducing Ruby
Introducing Ruby
 
JavaFX 1.2
JavaFX 1.2JavaFX 1.2
JavaFX 1.2
 
Programação Concorrente - Gerenciamento de Threads - Parte I
Programação Concorrente - Gerenciamento de Threads - Parte IProgramação Concorrente - Gerenciamento de Threads - Parte I
Programação Concorrente - Gerenciamento de Threads - Parte I
 
Freedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, dockerFreedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, docker
 

Viewers also liked

[GUTS-RS] DevOps pela visão de QA
[GUTS-RS] DevOps pela visão de QA[GUTS-RS] DevOps pela visão de QA
[GUTS-RS] DevOps pela visão de QAGUTS-RS
 
[GUTS-RS] GUTS Testing Games - Jogo BDD Warriors
[GUTS-RS] GUTS Testing Games - Jogo BDD Warriors[GUTS-RS] GUTS Testing Games - Jogo BDD Warriors
[GUTS-RS] GUTS Testing Games - Jogo BDD WarriorsGUTS-RS
 
Mental Health 1st Aid
Mental Health 1st AidMental Health 1st Aid
Mental Health 1st AidAlicia Miller
 
Rosalba mendez-contabilidad-financiera
Rosalba mendez-contabilidad-financieraRosalba mendez-contabilidad-financiera
Rosalba mendez-contabilidad-financieraRosalba Mendez
 
[GUTS-RS] Mobile Testing
[GUTS-RS] Mobile Testing[GUTS-RS] Mobile Testing
[GUTS-RS] Mobile TestingGUTS-RS
 
[GUTS-RS] Performance Engineering
[GUTS-RS] Performance Engineering[GUTS-RS] Performance Engineering
[GUTS-RS] Performance EngineeringGUTS-RS
 
Marketing jurídico: Prospecção e relacionamento
Marketing jurídico: Prospecção e relacionamentoMarketing jurídico: Prospecção e relacionamento
Marketing jurídico: Prospecção e relacionamentoMarco Antonio P. Gonçalves
 
[GUTS-RS] MBehavior, um framework de automação de testes multiplataforma para...
[GUTS-RS] MBehavior, um framework de automação de testes multiplataforma para...[GUTS-RS] MBehavior, um framework de automação de testes multiplataforma para...
[GUTS-RS] MBehavior, um framework de automação de testes multiplataforma para...GUTS-RS
 
[GUTS-RS] GUTS Universitário - Carreira de Testes
[GUTS-RS] GUTS Universitário - Carreira de Testes[GUTS-RS] GUTS Universitário - Carreira de Testes
[GUTS-RS] GUTS Universitário - Carreira de TestesGUTS-RS
 
Roteiro estratégico para novos negócios na advocacia
Roteiro estratégico para novos negócios na advocaciaRoteiro estratégico para novos negócios na advocacia
Roteiro estratégico para novos negócios na advocaciaMarco Antonio P. Gonçalves
 

Viewers also liked (18)

[GUTS-RS] DevOps pela visão de QA
[GUTS-RS] DevOps pela visão de QA[GUTS-RS] DevOps pela visão de QA
[GUTS-RS] DevOps pela visão de QA
 
[GUTS-RS] GUTS Testing Games - Jogo BDD Warriors
[GUTS-RS] GUTS Testing Games - Jogo BDD Warriors[GUTS-RS] GUTS Testing Games - Jogo BDD Warriors
[GUTS-RS] GUTS Testing Games - Jogo BDD Warriors
 
Betts_Michelle_Resume (3)
Betts_Michelle_Resume (3)Betts_Michelle_Resume (3)
Betts_Michelle_Resume (3)
 
Mental Health 1st Aid
Mental Health 1st AidMental Health 1st Aid
Mental Health 1st Aid
 
A Tribute to Mahatma
A Tribute to MahatmaA Tribute to Mahatma
A Tribute to Mahatma
 
Func excel
Func excelFunc excel
Func excel
 
Vivir con salud
Vivir con saludVivir con salud
Vivir con salud
 
Rosalba mendez-contabilidad-financiera
Rosalba mendez-contabilidad-financieraRosalba mendez-contabilidad-financiera
Rosalba mendez-contabilidad-financiera
 
[GUTS-RS] Mobile Testing
[GUTS-RS] Mobile Testing[GUTS-RS] Mobile Testing
[GUTS-RS] Mobile Testing
 
[GUTS-RS] Performance Engineering
[GUTS-RS] Performance Engineering[GUTS-RS] Performance Engineering
[GUTS-RS] Performance Engineering
 
Marketing jurídico: Prospecção e relacionamento
Marketing jurídico: Prospecção e relacionamentoMarketing jurídico: Prospecção e relacionamento
Marketing jurídico: Prospecção e relacionamento
 
[GUTS-RS] MBehavior, um framework de automação de testes multiplataforma para...
[GUTS-RS] MBehavior, um framework de automação de testes multiplataforma para...[GUTS-RS] MBehavior, um framework de automação de testes multiplataforma para...
[GUTS-RS] MBehavior, um framework de automação de testes multiplataforma para...
 
Desenvolvimento de novos negócios na advocacia
Desenvolvimento de novos negócios na advocaciaDesenvolvimento de novos negócios na advocacia
Desenvolvimento de novos negócios na advocacia
 
Finanzas
FinanzasFinanzas
Finanzas
 
Ikt hege
Ikt hegeIkt hege
Ikt hege
 
[GUTS-RS] GUTS Universitário - Carreira de Testes
[GUTS-RS] GUTS Universitário - Carreira de Testes[GUTS-RS] GUTS Universitário - Carreira de Testes
[GUTS-RS] GUTS Universitário - Carreira de Testes
 
Overview de QA
Overview de QA Overview de QA
Overview de QA
 
Roteiro estratégico para novos negócios na advocacia
Roteiro estratégico para novos negócios na advocaciaRoteiro estratégico para novos negócios na advocacia
Roteiro estratégico para novos negócios na advocacia
 

Similar to Plataforma java: detalhes da JVM

Interop itcare: Interoperabilidade Java e .NET
Interop itcare: Interoperabilidade Java e .NETInterop itcare: Interoperabilidade Java e .NET
Interop itcare: Interoperabilidade Java e .NETAlessandro Binhara
 
JAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagemJAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagemliverig
 
Criando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & DockerCriando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & DockerGiovanni Kenji Shiroma
 
TypeScript - Campus party 2013
TypeScript - Campus party 2013TypeScript - Campus party 2013
TypeScript - Campus party 2013Giovanni Bassi
 
Java Fundamentos
Java FundamentosJava Fundamentos
Java FundamentosWilson Lima
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Railsismaelstahelin
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem PythonLuciano Ramalho
 
Usando QUnit para testes unitários em JavaScript
Usando QUnit para testes unitários em JavaScriptUsando QUnit para testes unitários em JavaScript
Usando QUnit para testes unitários em JavaScriptZigotto Tecnologia
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao javaArmando Daniel
 
Detalhes internos da nova JVM do Java 8 @mariofts
Detalhes internos da nova JVM do Java 8   @marioftsDetalhes internos da nova JVM do Java 8   @mariofts
Detalhes internos da nova JVM do Java 8 @marioftsMario Amaral
 
Groovy na plataforma Java
Groovy na plataforma JavaGroovy na plataforma Java
Groovy na plataforma JavaJoão Lourenço
 

Similar to Plataforma java: detalhes da JVM (20)

Interop itcare: Interoperabilidade Java e .NET
Interop itcare: Interoperabilidade Java e .NETInterop itcare: Interoperabilidade Java e .NET
Interop itcare: Interoperabilidade Java e .NET
 
JAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagemJAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagem
 
Java 01
Java 01Java 01
Java 01
 
Criando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & DockerCriando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & Docker
 
Aula1
Aula1Aula1
Aula1
 
TypeScript - Campus party 2013
TypeScript - Campus party 2013TypeScript - Campus party 2013
TypeScript - Campus party 2013
 
Java20141215 17[1]
Java20141215 17[1]Java20141215 17[1]
Java20141215 17[1]
 
Java Fundamentos
Java FundamentosJava Fundamentos
Java Fundamentos
 
ptt
pttptt
ptt
 
Dr Java Virtual Machine
Dr Java Virtual MachineDr Java Virtual Machine
Dr Java Virtual Machine
 
Java script
Java scriptJava script
Java script
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Rails
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
 
Usando QUnit para testes unitários em JavaScript
Usando QUnit para testes unitários em JavaScriptUsando QUnit para testes unitários em JavaScript
Usando QUnit para testes unitários em JavaScript
 
Tecnologia Java
Tecnologia JavaTecnologia Java
Tecnologia Java
 
Minicurso groovy grails
Minicurso groovy grailsMinicurso groovy grails
Minicurso groovy grails
 
Introdução ao java
Introdução ao javaIntrodução ao java
Introdução ao java
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
 
Detalhes internos da nova JVM do Java 8 @mariofts
Detalhes internos da nova JVM do Java 8   @marioftsDetalhes internos da nova JVM do Java 8   @mariofts
Detalhes internos da nova JVM do Java 8 @mariofts
 
Groovy na plataforma Java
Groovy na plataforma JavaGroovy na plataforma Java
Groovy na plataforma Java
 

More from Caelum

Performance Web além do carregamento
Performance Web além do carregamentoPerformance Web além do carregamento
Performance Web além do carregamentoCaelum
 
Desafios de Performance Web - BrazilJS
Desafios de Performance Web - BrazilJSDesafios de Performance Web - BrazilJS
Desafios de Performance Web - BrazilJSCaelum
 
Performance na web: o modelo RAIL e outras novidades
Performance na web: o modelo RAIL e outras novidadesPerformance na web: o modelo RAIL e outras novidades
Performance na web: o modelo RAIL e outras novidadesCaelum
 
Progressive Web Apps: o melhor da Web appficada
Progressive Web Apps: o melhor da Web appficadaProgressive Web Apps: o melhor da Web appficada
Progressive Web Apps: o melhor da Web appficadaCaelum
 
Tudo que você precisa saber sobre picture e srcset
Tudo que você precisa saber sobre picture e srcsetTudo que você precisa saber sobre picture e srcset
Tudo que você precisa saber sobre picture e srcsetCaelum
 
Como o HTTP/2 vai mudar sua vida
Como o HTTP/2 vai mudar sua vidaComo o HTTP/2 vai mudar sua vida
Como o HTTP/2 vai mudar sua vidaCaelum
 
Métricas e a automatização do controle de qualidade
Métricas e a automatização do controle de qualidadeMétricas e a automatização do controle de qualidade
Métricas e a automatização do controle de qualidadeCaelum
 
HTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio Lopes
HTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio LopesHTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio Lopes
HTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio LopesCaelum
 
Offline Web com Service Workers - Sérgio Lopes
Offline Web com Service Workers - Sérgio LopesOffline Web com Service Workers - Sérgio Lopes
Offline Web com Service Workers - Sérgio LopesCaelum
 
Design Responsivo - MobCamp 2014
Design Responsivo - MobCamp 2014Design Responsivo - MobCamp 2014
Design Responsivo - MobCamp 2014Caelum
 
Além do responsive design: a mudança de paradigma do design adaptativo e os m...
Além do responsive design: a mudança de paradigma do design adaptativo e os m...Além do responsive design: a mudança de paradigma do design adaptativo e os m...
Além do responsive design: a mudança de paradigma do design adaptativo e os m...Caelum
 
Por trás dos frameworks e além do reflection
Por trás dos frameworks e além do reflectionPor trás dos frameworks e além do reflection
Por trás dos frameworks e além do reflectionCaelum
 
Otimizações de Performance Web: Desafios do Mundo Mobile
Otimizações de Performance Web: Desafios do Mundo MobileOtimizações de Performance Web: Desafios do Mundo Mobile
Otimizações de Performance Web: Desafios do Mundo MobileCaelum
 
Introducao a inteligencia artificial na educacao
Introducao a inteligencia artificial na educacaoIntroducao a inteligencia artificial na educacao
Introducao a inteligencia artificial na educacaoCaelum
 
Otimizando o time to market - do zero a produção em poucas iterações
Otimizando o time to market - do zero a produção em poucas iteraçõesOtimizando o time to market - do zero a produção em poucas iterações
Otimizando o time to market - do zero a produção em poucas iteraçõesCaelum
 
All you need to know about JavaScript loading and execution in the browser - ...
All you need to know about JavaScript loading and execution in the browser - ...All you need to know about JavaScript loading and execution in the browser - ...
All you need to know about JavaScript loading and execution in the browser - ...Caelum
 
Wsrest 2013
Wsrest 2013Wsrest 2013
Wsrest 2013Caelum
 
Design Responsivo por uma Web única
Design Responsivo por uma Web únicaDesign Responsivo por uma Web única
Design Responsivo por uma Web únicaCaelum
 
Os Caminhos de uma Estratégia Mobile
Os Caminhos de uma Estratégia MobileOs Caminhos de uma Estratégia Mobile
Os Caminhos de uma Estratégia MobileCaelum
 
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...Caelum
 

More from Caelum (20)

Performance Web além do carregamento
Performance Web além do carregamentoPerformance Web além do carregamento
Performance Web além do carregamento
 
Desafios de Performance Web - BrazilJS
Desafios de Performance Web - BrazilJSDesafios de Performance Web - BrazilJS
Desafios de Performance Web - BrazilJS
 
Performance na web: o modelo RAIL e outras novidades
Performance na web: o modelo RAIL e outras novidadesPerformance na web: o modelo RAIL e outras novidades
Performance na web: o modelo RAIL e outras novidades
 
Progressive Web Apps: o melhor da Web appficada
Progressive Web Apps: o melhor da Web appficadaProgressive Web Apps: o melhor da Web appficada
Progressive Web Apps: o melhor da Web appficada
 
Tudo que você precisa saber sobre picture e srcset
Tudo que você precisa saber sobre picture e srcsetTudo que você precisa saber sobre picture e srcset
Tudo que você precisa saber sobre picture e srcset
 
Como o HTTP/2 vai mudar sua vida
Como o HTTP/2 vai mudar sua vidaComo o HTTP/2 vai mudar sua vida
Como o HTTP/2 vai mudar sua vida
 
Métricas e a automatização do controle de qualidade
Métricas e a automatização do controle de qualidadeMétricas e a automatização do controle de qualidade
Métricas e a automatização do controle de qualidade
 
HTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio Lopes
HTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio LopesHTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio Lopes
HTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio Lopes
 
Offline Web com Service Workers - Sérgio Lopes
Offline Web com Service Workers - Sérgio LopesOffline Web com Service Workers - Sérgio Lopes
Offline Web com Service Workers - Sérgio Lopes
 
Design Responsivo - MobCamp 2014
Design Responsivo - MobCamp 2014Design Responsivo - MobCamp 2014
Design Responsivo - MobCamp 2014
 
Além do responsive design: a mudança de paradigma do design adaptativo e os m...
Além do responsive design: a mudança de paradigma do design adaptativo e os m...Além do responsive design: a mudança de paradigma do design adaptativo e os m...
Além do responsive design: a mudança de paradigma do design adaptativo e os m...
 
Por trás dos frameworks e além do reflection
Por trás dos frameworks e além do reflectionPor trás dos frameworks e além do reflection
Por trás dos frameworks e além do reflection
 
Otimizações de Performance Web: Desafios do Mundo Mobile
Otimizações de Performance Web: Desafios do Mundo MobileOtimizações de Performance Web: Desafios do Mundo Mobile
Otimizações de Performance Web: Desafios do Mundo Mobile
 
Introducao a inteligencia artificial na educacao
Introducao a inteligencia artificial na educacaoIntroducao a inteligencia artificial na educacao
Introducao a inteligencia artificial na educacao
 
Otimizando o time to market - do zero a produção em poucas iterações
Otimizando o time to market - do zero a produção em poucas iteraçõesOtimizando o time to market - do zero a produção em poucas iterações
Otimizando o time to market - do zero a produção em poucas iterações
 
All you need to know about JavaScript loading and execution in the browser - ...
All you need to know about JavaScript loading and execution in the browser - ...All you need to know about JavaScript loading and execution in the browser - ...
All you need to know about JavaScript loading and execution in the browser - ...
 
Wsrest 2013
Wsrest 2013Wsrest 2013
Wsrest 2013
 
Design Responsivo por uma Web única
Design Responsivo por uma Web únicaDesign Responsivo por uma Web única
Design Responsivo por uma Web única
 
Os Caminhos de uma Estratégia Mobile
Os Caminhos de uma Estratégia MobileOs Caminhos de uma Estratégia Mobile
Os Caminhos de uma Estratégia Mobile
 
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...
 

Plataforma java: detalhes da JVM

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n