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

Projeto OpenJDK [Java8]

Jun 27, 2015

Download

Technology

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.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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