Projeto OpenJDK [Java8]

25
#OpenJDK Otávio Santana Bruno Souza @otaviojava @brjavaman

description

O OpenJDK é um projeto da JVM baseado totalmente em software livre e de código aberto. Começou a ficar mais conhecido na versão anterior, Java 7, por se tornar a implementação de referência. Esse projeto tem apoio de várias empresas e comunidades, conheça um pouco mais sobre o projeto e as novas funcionalidades que vão além das JSRs no Java 8. Além dos próximos passos no Java 9.

Transcript of Projeto OpenJDK [Java8]

Page 1: Projeto OpenJDK [Java8]

#OpenJDK

Otávio Santana Bruno Souza@otaviojava @brjavaman

Page 2: Projeto OpenJDK [Java8]

Comunidades

• @javabahia• @soujava• @java• @soujavalivre

Page 3: Projeto OpenJDK [Java8]

Funcionamento externo

• JCP (Java Community Process)

• JSR(Java Specification Requests)

• JEP (JDK Enhancement Proposals)

• JSR 336 = Java 71) JSR 203 : ("NIO.2")

2) JSR 292 : Invoke Dynamic

3) JSR 334 :COIN

JEP 174: Nashorn JavaScript EngineJEP 156: G1 GC: Reduce need for full GCs

Page 4: Projeto OpenJDK [Java8]

Empresas• AMD• Azul Systems, Inc.• Canonical• Google • IBM• Intel• Oracle• RedHat• SAP Software Company • Stratus• Twitter

Page 5: Projeto OpenJDK [Java8]

Comunidades• SouJava• London Comunity• JavaBahia• JavaCE• Greenville JUG - (USA)

Page 6: Projeto OpenJDK [Java8]

Distro que usam

• CentOS• Debian• Fedora• Gentoo• Linux Mint• Mandriva• OpenSUSE• Ubuntu

Page 7: Projeto OpenJDK [Java8]

Existem outras JVMs?

• IBM J9• IcedTea• Hotspot (Da antiga Sun)• jRockit (da Oracle)• Apache Harmony• Hewlett Packard JVM

Page 8: Projeto OpenJDK [Java8]

Diferenças entre HotSpot

OpenJDK

Proprietário

Page 9: Projeto OpenJDK [Java8]
Page 10: Projeto OpenJDK [Java8]

JEPS

• 155: Concurrency Updates (Melhorias ConcurrentHashMap, ForkJoinPool e os novos DoubleAccumulator, DoubleAdder, LongAccumulator, LongAdder)

• 170: JDBC 4.2 (Atualização para os tipos de data JSR 310).

• JEP 174: Nashorn JavaScript (Novo motor de JavaScript dentro do JDK).

• 177: Melhoria java.text.DecimalFormat.format, deixando 2x mais rápido.

• 180: Melhoria no HashMap

Page 11: Projeto OpenJDK [Java8]

JEPS

• 180: Melhoria no HashMap

• 182: O javac usará a política de uso "uma mais três atrás" para depreciado

• 183: HTTP Cross-Origin Resource Sharing (html 5)

• 185: Melhoria no JAXB

• 186: Collection Literals

Page 12: Projeto OpenJDK [Java8]

JEPs

• 187: serialização 2.0

• 189: Shenandoah: GC com menor tempo de pausa para grande heaps

• JEP 192: remvoer String duplicadas no G1

Page 13: Projeto OpenJDK [Java8]

Adote o OpenJdk

● Evangelizando● Passando o conhecimento ● Tradução para outros idiomas● Participando de JSR para JSE● Refatoração do código existente● Divulgando o projeto● Realizando tutoriais● Correções gramaticais● etc.

Page 14: Projeto OpenJDK [Java8]

Adote o OpenJdk

● Wiki● Clean Day● Refatoração● Warnings● Tutorial●

Page 15: Projeto OpenJDK [Java8]

Adote o OpenJdk

● Evolução do java Livre● Plataforma madura● Open Source

Page 16: Projeto OpenJDK [Java8]

Adote o OpenJdk

● Network● Novas habilidades● Conhece mais sobre a JVM● Projeto internacional● Ajuda a JVM a te ajudar● Ganha uma Camisa :)● Fazer parte da Comunidade Java

Page 17: Projeto OpenJDK [Java8]

Adote o OpenJdk

• hg clone http://hg.openjdk.java.net/jdk8/jdk8 openjdk

• export LANG=C ANT_HOME=/usr/share/ant/ ALT_BOOTDIR=/usr/lib/jvm/java-7-openjdk/

• cd openjdk

• make sanity CC=gcc CPP=g++• make all CC=gcc CPP=g++

ALLOW_DOWNLOADS=true

Page 18: Projeto OpenJDK [Java8]

Compilação

• sudo apt-get install build-essential libxtst-dev libxrender-dev libxext-dev libX11-dev libcups2-dev libfreetype6-dev libasound2-dev unzip zip ccache

• hg clone http://hg.openjdk.java.net/jdk8/jdk8 jdk_1_8

• sh ./get_source.sh

• sh make/scripts/hgforest.sh pull -u

• ./configure• make sanity CC=gcc CPP=g++

Page 19: Projeto OpenJDK [Java8]

Passos para contribuir

• Diff do código

• Abrir um bug

• Revisão do código• Entregue a versão

Page 21: Projeto OpenJDK [Java8]

Revisão

Page 22: Projeto OpenJDK [Java8]

Versão entregue

Page 23: Projeto OpenJDK [Java8]

Contribuir

Page 24: Projeto OpenJDK [Java8]

E-Book

http://www.slideshare.net/otagonsan/imergindo-na-jvm

Page 25: Projeto OpenJDK [Java8]

#Obrigado

Otávio Santana Bruno Souza@otaviojava @brjavaman