openjdk & what it means for the java...

193
OpenJDK & What it means for the Java Developer Dalibor Topić Java F/OSS Ambassador Sun Microsystems http://twitter.com/robilad [email protected]

Upload: others

Post on 11-Sep-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

OpenJDK &What it means for the Java Developer

Dalibor TopićJava F/OSS AmbassadorSun Microsystems http://twitter.com/robilad

[email protected]

Page 2: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

2

Java

Page 3: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

3

Programming Language

Page 4: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

4

Virtual Machine

Page 5: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

5

Cross-platform

Programming Environment

Page 6: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

6

Community Of Communities

Page 7: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

7

Pretty successful

Page 8: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

8

~1B LOC

of Open Source Code written in it (acc. to ohloh.net)

Page 9: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

9

That's just the visible space

Page 10: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

10

What else happened in the last 10

years?

Page 11: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

11

Open Source

Page 12: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

12

From fringe to

mainstream

Page 13: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

13

Open Innovation across

organizational boundaries

Page 14: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

14

Remember shipping

containers?

Page 15: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

15

Changed the world

Page 16: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

16

Radically reduced

transaction costs

Page 17: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

17

For material goods

Page 18: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

18

Standardized measures

Page 19: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

19

Optimization opportunities

Page 20: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

20

Open Source does the

same

Page 21: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

21

For software components

Page 22: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

22

Standardized Legal

Containers

Page 23: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

23

Permeable development

Page 24: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

24

Lowered barrier to

participation

Page 25: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

25

Collaborative User

Innovation

Page 26: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

26

What else happened?

Page 27: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

27

Linux

Page 28: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

28

From fringe to

mainstream

Page 29: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

29

Cloud, Cluster, Server, Netbook,

TV, Phone, ...

Page 30: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

30

Anyone can create a Linux-based software

platform

Page 31: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

31

shipping yard, fleet & port

in one

Page 32: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

32

Organic growth

Page 33: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

33

Cambrian explosion of Linux distros

Page 34: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

34

Selective Pressure On Development Tools on

Linux

Strongly Favors Open Source

Page 35: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

35

Manifests itself around:

availability, integration, ease of use

Page 36: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

36

Example:

sudo aptitude install openjdk-6-jdk

vs.

many minutes of manual work

Page 37: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

37

Example:

sudo aptitude build-dep openjdk-6

vs.

many hours of manual work

Page 38: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

38

Open Source+

Java+

Linux

Page 39: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

39

Page 40: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

40

OpenJDK 7

Page 41: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

41

JDK 7

Page 42: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

42

Open Source

Page 43: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

43

GPL v2

Page 44: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

44

Classpath Exception

Page 45: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

45

2006:

From closed to open

Page 46: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

46

First Step:

Get the code out

Page 47: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

47

Putting the effort in

perspective

Page 48: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

48

Mozilla

1.2M SLOCs

Page 49: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

49

Eclipse

2.2M SLOCs

Page 50: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

50

OpenJDK

3.5M SLOCs

Page 51: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

51

Done within one year

Page 52: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

52

Managing expectations

Page 53: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

53

Pessimist extremists:

Java will be forked to death!

Page 54: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

54

Well, no.

Didn't happen.

Page 55: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

55

Optimist extremists:

I want a feature! And I want it now!

Page 56: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

56

Well, probably no.

You can have a go at it yourself,

though.

Page 57: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

57

Culture change

Page 58: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

58

2007:

Cleaning up

Page 59: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

59

Second Step:

100 % Open Source

Page 60: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

60

Replacing encumbered third-party

code

Page 61: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

61

Removing structural barriers to innovation

Page 62: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

62

Fully open source

bootstrap

Page 63: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

63

IcedTea

Page 64: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

64

Gervill

Sound Synthesizer

Page 65: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

65

64-Bit Plugin

Page 66: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

66

Packaging

Page 67: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

67

OpenJDK 6

Page 68: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

68

2008:

Infrastructure & Adoption

Page 69: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

69

Third Step:

Put it to use

Page 70: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

70

Mercurial

Page 71: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

71

External Committers

Page 72: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

72

JDK 7 mainline

Page 73: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

73

Sidestreams of

development

Page 74: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

74

Feature Projects

Page 75: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

75

Like NIO2, MLVM & Jigsaw

Page 76: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

76

Making JDK & JVM suitable for more problems

Page 77: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

77

Porting Projects

Page 78: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

78

Like Zero, Shark, BSD

Port

Page 79: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

79

Putting OpenJDK in more places

Page 80: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

80

Gentoo, Debian, Fedora, Ubuntu,

OpenSUSE, Mandriva, Simply MEPIS, Linux Mint

Red Hat Enterprise Linux, CentOS, Oracle Enterprise Linux

FreeBSD, OpenBSD, NetBSD, MacPorts

Poky Linux, Angstrom, OLPC XO

Page 81: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

81

Removing social

barriers to innovation

Page 82: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

82

2009:JDK 7

Milestones

Page 83: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

83

Fourth step:

Create more opportunitiesto innovate

Page 84: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

84

Code going from closed to open

often has a tough learning curve

Page 85: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

85

Private conversations

Page 86: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

86

Insider knowledge

Page 87: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

87

Easier to learn the ropes writing new

code

Page 88: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

88

Public knowledge

Page 89: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

89

Searchable knowledge

Page 90: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

90

In practice:

Modularize the code base

Page 91: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

91

Reducing complexity

Page 92: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

92

Removing intrinsic

barriers to innovation

Page 93: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

93

Where are we now?

Page 94: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

94

Gradually growing, diverse

Community

Page 95: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

95

IndividualDevelopers

Page 96: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

96

BSD Port

Landon FullerGreg LewisKurt Miller

Christos Zoulas

Page 97: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

97

Academia

Page 98: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

98

Type Annotations

Mahmood AliMichael Ernst

Page 99: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

99

Corporate Contributors

Page 100: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

100

Sun, Red Hat, Google, AMD

Page 101: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

101

Total: 180

! @Sun.com: 47

Page 102: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

102

25 Projects

Page 103: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

103

Both Incremental Innovation

Page 104: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

104

XRender Pipeline

Page 105: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

105

And Disruptive Innovation

Page 106: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

106

Dynamic language support

Page 107: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

107

Larger Community

Page 108: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

108

IcedTea

Page 109: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

109

Jalimo

Page 110: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

110

Cacao VM

Page 111: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

111

Maxine VM

Page 112: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

112

JNode OS

Page 113: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

113

IKVM.NET

Page 114: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

114

What about the

language?

Page 115: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

115

Size matters

Page 116: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

116

Big changes harder then small ones

Page 117: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

117

Project Coin

Page 118: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

118

small language changes

Page 119: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

119

Strings in switch

Page 120: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

120

String s = ...switch(s) { case "foo": processFoo(s); break;}

Page 121: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

121

Improved Type Inference for

Generic Instance Creation

Page 122: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

122

AKA:Diamond

Page 123: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

123

// type less:Map<String, List<String>> map = new HashMap<>();

Page 124: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

124

Language support for

JSR 292

Page 125: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

125

Object x = InvokeDynamic.getMeSomething();

MethodHandle mh = ...;mh.invoke();

int #"strange variable name" = 42;System.out.println(#"strange variable name"); // prints 42

Page 126: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

126

… and more

Page 127: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

127

http://openjdk.java.net/projects/coin

Page 128: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

128

Not so small changes

Page 129: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

129

Type Annotations

Page 130: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

130

JSR 308

Page 131: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

131

Checker framework

Page 132: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

132

@NonNull

Page 133: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

133

@Nullable

Page 134: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

134

javac -processor NullnessChecker MyFile.java

Page 135: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

135

@ReadOnly

Page 136: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

136

http://openjdk.java.net/projects/type-annotations

Page 137: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

137

JSR 294

Page 138: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

138

Improved modularity

support in the language

Page 139: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

139

Independent of a module

system

Page 140: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

140

ExplicitDependencies+ Versioning

+ Accessibility

Page 141: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

141

module-info.java

Page 142: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

142

src/org/openjdk/SomeTool.javasrc/module-info.java

Page 143: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

143

module org.openjdk.SomeTool @ 1.0 { requires module SomeLib @ 1.2;requires module AnotherLib @ 2.1; requires module jdk-swing @ 7.0; class org.openjdk.SomeTool; }

Page 144: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

144

understood by javac

Page 145: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

145

understood by java

Page 146: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

146

$CLASSPATH is dead

Page 147: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

147

Jigsaw

Page 148: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

148

modularityfor the JDK

Page 149: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

149

Size matters

Page 150: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

150

well-defined subsets

Page 151: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

151

Just-enough JDK

Page 152: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

152

simple & static

Page 153: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

153

low level

Page 154: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

154

native packaging

Page 155: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

155

jpkg

Page 156: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

156

Now:deb

Page 157: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

157

Soon:RPMSVR4IPS

Page 158: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

158

Add your format:[email protected]

Page 159: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

159

http://openjdk.java.net/projects/jigsaw/

Page 160: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

160

JDK 7

Page 161: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

161

8milestones

Page 162: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

162

M1(finished)

Page 163: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

163

Compressed OOPs

Page 164: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

164

Garbage First Garbage Collector

Page 165: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

165

M2(finished)

Page 166: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

166

NIO2

Page 167: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

167

URLClassLoader.close()

Page 168: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

168

M3(finished)

Page 169: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

169

InvokeDynamic

Page 170: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

170

Stream Control

Transmission Protocol

Page 171: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

171

Sockets Direct

Protocol

Page 172: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

172

Unicode 5.1

Page 173: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

173

ClassLoader Architecture

Update

Page 174: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

174

M4(finished)

Page 175: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

175

Forward-port 6u10 features

Page 176: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

176

Type Annotations

Page 177: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

177

M5(ongoing)

Page 178: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

178

Update the XML stack

Page 179: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

179

Elliptic Curve Cryptography

Page 180: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

180

Swing Updates

Page 181: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

181

Concurrency & Collections

Updates

Page 182: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

182

Project Coin

Page 183: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

183

http://openjdk.java.net/projects/jdk7/

Page 184: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

184

Contribute

Page 185: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

185

http://openjdk.java.net

Page 186: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

186

Patches for JDK 7

Page 187: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

187

http://bugs.openjdk.java.net

Page 188: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

188

Stay up to date

Page 189: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

189

http://planetjdk.org

Page 190: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

190

Discuss development

Page 191: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

191

[email protected]

Page 192: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

192

[email protected]

Page 193: OpenJDK & What it means for the Java Developergotocon.com/dl/jaoo-aarhus-2009/slides/DaliborTopic_Open... · 2009. 10. 6. · 3 Programming Language. 4 Virtual Machine. 5 Cross-platform

193

Q & A

[email protected]