SlideShare une entreprise Scribd logo
1  sur  39
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Java	SE	9:	ConDnuing	to	
Thrive	in	the	Cloud!	
Bernard	Traversat	
Vice	President	of	Engineering	
Java	SE	PlaKorm,	Oracle	
	
	
Nov	8th,	2016
InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• News 15-20 / week
• Articles 3-4 / week
• Presentations (videos) 12-15 / week
• Interviews 2-3 / week
• Books 1 / month
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
java-se-9-cloud
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
Presented at QCon San Francisco
www.qconsf.com
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Who	am	I?	
2	
•  VP	of	Engineering	at	Oracle	-	managing	the	Java	SE	
development	team		
	–	Everything	delivered	as	part	of	the	JDK/JRE	
	–	Everything	developed	in	OpenJDK	
•  Previously	at	Sun,	started	to	work	on	Java	in	1998	on	
the	JavaOS	project		
•  Before,	I	worked	at	NASA	Ames	on	operaDng	systems	
for	massively	parallel	supercomputers
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Safe	Harbor	Statement	
The	following	is	intended	to	outline	our	general	product	direcDon.	It	is	intended	for	
informaDon	purposes	only,	and	may	not	be	incorporated	into	any	contract.	It	is	not	a	
commitment	to	deliver	any	material,	code,	or	funcDonality,	and	should	not	be	relied	upon	
in	making	purchasing	decisions.	The	development,	release,	and	Dming	of	any	features	or	
funcDonality	described	for	Oracle’s	products	remains	at	the	sole	discreDon	of	Oracle.	
3
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Agenda	
Java	AdopDon	
Java	in	the	Cloud		
Java	SE	9	
1	
2	
3	
4
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Java	SE	is	#1	with	Developers	
5	
•  Java	8	demonstrated	that	we	have	overcome	and	reversed	overall	percepDon	of	Java	
decline		
•  Java	8	adop,on	is	skyrocke,ng!
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Java	SE	is	#1	RunDme	in	the	Cloud	
6	
•  #1	Deployment	runDme	on	
AWS	and	Google	App	Engine	
and	#3	on	MS	Azure	
•  Java	RunDme	is	the	foundaDon	
of	the	Cloud	IaaS,	PaaS	and	
SaaS
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Why	Java	Will	ConDnue	to	Thrive	in	the	Cloud	
•  Security	&	Vulnerability	
–  Security	built	deep	in	the	JVM	runDme	(bytecode	verificaDon,	managed	pointers	&	managed	memory	layout)	
–  Security	built	in	the	language	(strong	typing	and	API	encapsulaDon)	
–  Upcoming	hardware	security	innovaDons	(from	pages	to	pointer	addresses,	encrypDon	at	memory	speed)	
•  Efficiency	and	ulDmate	performance		
–  Dynamic	JIT	compilaDon	(opDmize	and	de-opDmizaDon	JVM	machinery,	profile	driven	opDmizaDon)	
–  Scalability	(from	1	thread/core	to	10,000s	threads/cores,	from	a	few	GBs	to	mulDple	TBs)	
–  Cloud	is	all	about	uDlity	compuDng	(operaDng	cost	will	soon	dominate	Cloud	market!)	
•  Increase	deployment	velocity	
–  The	cloud	is	demanding	an	accelerated	deployment	cycle	(hour/day/week	vs	month/year)		
–  Increase	pressure	to	uptake	new	releases	(security,	criDcal	fixes	&	performance)	–	manage	backward	compaDbility!!!!	
–  Thrive	towards	an	homogeneous	and	uniform	sokware	infrastructure	(lower	maintenance	cost)	
•  Manageability	and	serviceability	at	scale	
–  Expressibility	&	Readability		
–  Mature	tooling	ecosystems	
–  Dynamic	patching	(no	service	downDme,	class	redefiniDon,	JVM	safepoint	redefine)			
	
	
7
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Challenges	to	Evolving	The	Java	PlaKorm		
•  2	Trillion	lines	of	code	in	producDon	
– Ensuring	backward	compaDbility	is	a	big	deal	to	our	users,	to	you	and	us	:-)	
•  Decisions	made	20	years	ago	may	not	apply	anymore	
– Duality	between	Object	and	PrimiDve	type	
•  Foreseeing	the	future	
– Many	decisions	made	today	may/will	have	profound	impacts	10	years	from	now	
•  Maintaining	the	“look	and	feel”	of	Java	
	
	
8
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Java	PlaKorm	Feature	Backlog	
9
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Understanding	Java	Developers	Main	Pain	Points	
10	
•  Too	verbose	
•  Use	too	much	memory	
•  Too	slow	
•  Dynamically	linked	
•  Etc.
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Maintaining	Java	Core	Principles			
11	
•  Consistency	
•  Predictability	
•  Easy	to	read	
•  CompaDbility
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Java	SE	PlaKorm	Investments	
•  Security	is	our	#1	priority	
–  Deliver	the	most	secure	Java	runDme	for	the	Cloud	and	next	generaDon	hardware	
•  Improving	Java	developer	producDvity	and	compaDbility	
–  Make	Java	developers	more	efficient	and	ensure	easier	path	to	uptake	new	releases	quicker	
–  Program	once	for	the	Cloud	and	scale	up	as	needed	
•  Increasing	density	
–  Reducing	memory	usage	and	share	more	data	between	JVM	processes	
–  Largest	impact	to	reducing	our	customers	and	our	cloud	operaDng	cost	
•  Improving	startup	Dme	
–  Enabling	lighter-weight	services	and	containers	(microservice	and	Cloud	devops	use	cases)	
•  Improving	predictability	
–  Lower,	more	predictable	GC	pauses,	even	for	very	large	heaps	(TB+)	
•  Simplifying	serviceability	and	profiling	
–  Managing	and	tuning	JVM	deployments	at	scale
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Java	9	
		“One	Modular,	Upgradeable	PlaKorm	for	the	Cloud”
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Java	9	JEPs	
	
h;p://openjdk.java.net/projects/jdk9/	
14	
102:	Process	API	Updates	
110:	HTTP	2	Client	
143:	Improve	Contended	Locking	
158:	Unified	JVM	Logging	
165:	Compiler	Control	
193:	Variable	Handles	
197:	Segmented	Code	Cache	
199:	Smart	Java	CompilaDon,	Phase	Two	
200:	The	Modular	JDK	
201:	Modular	Source	Code	
211:	Elide	DeprecaDon	Warnings	on	Import	Statements	
212:	Resolve	Lint	and	Doclint	Warnings	
213:	Milling	Project	Coin	
214:	Remove	GC	CombinaDons	Deprecated	in	JDK	8	
215:	Tiered	AsribuDon	for	javac	
216:	Process	Import	Statements	Correctly	
217:	AnnotaDons	Pipeline	2.0	
219:	Datagram	Transport	Layer	Security	(DTLS)	
220:	Modular	Run-Time	Images	
221:	Simplified	Doclet	API	
222:	jshell:	The	Java	Shell	(Read-Eval-Print	Loop)	
223:	New	Version-String	Scheme	
224:	HTML5	Javadoc	
225:	Javadoc	Search	
226:	UTF-8	Property	Files	
227:	Unicode	7.0	
228:	Add	More	DiagnosDc	Commands	
229:	Create	PKCS12	Keystores	by	Default	
231:	Remove	Launch-Time	JRE	Version	SelecDon	
232:	Improve	Secure	ApplicaDon	Performance	
233:	Generate	Run-Time	Compiler	Tests	AutomaDcally	
235:	Test	Class-File	Asributes	Generated	by	javac	
236:	Parser	API	for	Nashorn	
237:	Linux/AArch64	Port	
238:	MulD-Release	JAR	Files	
240:	Remove	the	JVM	TI	hprof	Agent	
241:	Remove	the	jhat	Tool	
243:	Java-Level	JVM	Compiler	Interface	
244:	TLS	ApplicaDon-Layer	Protocol	NegoDaDon	Extension	
245:	Validate	JVM	Command-Line	Flag	Arguments	
246:	Leverage	CPU	InstrucDons	for	GHASH	and	RSA	
247:	Compile	for	Older	PlaKorm	Versions	
248:	Make	G1	the	Default	Garbage	Collector	
249:	OCSP	Stapling	for	TLS	
250:	Store	Interned	Strings	in	CDS	Archives	
251:	MulD-ResoluDon	Images	
252:	Use	CLDR	Locale	Data	by	Default	
253:	Prepare	JavaFX	UI	Controls	&	CSS	APIs	for	ModularizaDon	
254:	Compact	Strings	
255:	Merge	Selected	Xerces	2.11.0	Updates	into	JAXP	
256:	BeanInfo	AnnotaDons	
257:	Update	JavaFX/Media	to	Newer	Version	of	GStreamer	
258:	HarfBuzz	Font-Layout	Engine	
259:	Stack-Walking	API	
260:	Encapsulate	Most	Internal	APIs	
261:	Module	System	
262:	TIFF	Image	I/O	
263:	HiDPI	Graphics	on	Windows	and	Linux	
264:	PlaKorm	Logging	API	and	Service	
265:	Marlin	Graphics	Renderer	
266:	More	Concurrency	Updates	
267:	Unicode	8.0	
268:	XML	Catalogs	
269:	Convenience	Factory	Methods	for	CollecDons	
270:	Reserved	Stack	Areas	for	CriDcal	SecDons	
271:	Unified	GC	Logging	
272:	PlaKorm-Specific	Desktop	Features	
273:	DRBG-Based	SecureRandom	ImplementaDons	
274:	Enhanced	Method	Handles	
275:	Modular	Java	ApplicaDon	Packaging	
276:	Dynamic	Linking	of	Language-Defined	Object	Models	
277:	Enhanced	DeprecaDon	
278:	AddiDonal	Tests	for	Humongous	Objects	in	G1	
279:	Improve	Test-Failure	TroubleshooDng	
280:	Indify	String	ConcatenaDon	
281:	HotSpot	C++	Unit-Test	Framework	
282:	jlink:	The	Java	Linker	
283:	Enable	GTK	3	on	Linux	
284:	New	HotSpot	Build	System	
285:	Spin-Wait	Hints	
287:	SHA-3	Hash	Algorithms	
289:	Deprecate	the	Applet	API	
•  The	big	Dcket	item	for	java	9	is	
ModularizaDon	(aka	Jigsaw)	
•  Currently	121	enhancements	(JEPs)		
– 114	integrated,	completed	and	closed	
– 7	in	candidate,	proposed	to	drop	and		
targeted	
•  New	EA	build	available	every	other	
week
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Java	9	Jigsaw	Modularity	
•  Java	SE	&	its	implementaDons	historically	monolithic	
– Cloud	deployments	most	oken	don’t	require	the	enDre	plaKorm	
•  Backward	compaDbility	requires	strong	API	encapsulaDon	
•  Modules	will	define	a	module-info.java	file	
– Declares	its	dependencies	(requires)	
– Declares	what	packages	it	gives	external	access	to	(exports)	
•  Simple	Example:	
	
module com.foo.bar {
requires com.foo.baz;
exports com.foo.bar.alpha;
exports com.foo.bar.beta;
}
15
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	Copyright	©	2015,	Oracle	and/or	its	affiliates.	All	rights	reserved.			
JDK	9	Jigsaw	Security:			
Module	boundaries	enforced	by	the	JVM		
•	Encapsulate	implementaDon---internal	classes	inside	modules	
	– Share	them	with	other	implementaDon	modules	only	as	needed	
•  Massive	maintainability	improvement		
•  Simpler	compaDbility	upgrade	path		
•  We	and	You	can	now	hide	and	preclude	access	to	unsupported	internal	APIs	and	
implementaDon	
•  Will	also	significantly	improve	Security	
•  Enable	developers	to	create	customized	runDme	that	removed	unused	security	
sensiDve	APIs	
12
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	Copyright	©	2015,	Oracle	and/or	its	affiliates.	All	rights	reserved.			
Java	9:	Jigsaw	New	Linking	Phase			
• Introduce	a	new	development	phase:	Linking	 		
–Aker	Javac	compilaDon,	but	before	packaging	and	deployment	
	–jlink	linking	tool	to	consume	applicaDon	classes	
	 	as	well	as	plaKorm	modules	
	–Linker	can	produce	custom	runDme	images	in	various	formats	
	 		• Regular	images	(as	today)	
	 		• JVM---specific	memory	images	(CDS	archives)	
	 		• “Fast	executable	binaries”	(self---contained	naDve	executable	code)	
	
	
	 		 	 	 	 	Demo	
	
9
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
	Java	9:		Ahead	of	Time	(AOT)	Java	Compiler	
18	
• The	unificaDon	of	staDc	and	dynamic	compilaDon	
– StaDc	compilaDon	–	faster	startup,	lower	memory	usage,	but	limited	in	opDmizing	code	
generaDon	
– Dynamic	profiling	based	compilaDon	–	slow	startup	but	opDmum	code	generaDon	
• New	AOT	Compiler	to	staDcally	compile	Java	classes	to	naDve	shared	
libraries		
– Reduces	startup	Dme	and	improve	density	to	close	the	gap	against	naDve	
service	
• Compile	Java	packages	to	naDve	shared	libraries	
• JVM	was	modified	to	load	naDve	shared	libraries	on	startup	
– JVM	internal	structures,	which	describe	compiled	code,	are	split	to	describe	compiled	code	
in	code	cache	and	in	a	shared	library	
– AOT	compiled	code	is	dynamically	linked	to	Java	methods	aker	its	class	is	iniDalized
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
	Java	9:		Ahead	of	Time	(AOT)	Java	Compiler	
19	
•  New	JDK	tool	‘jaotc’	is	added	as	part	of	java	installaDon.	‘jaotc’	is	java	staDc	compiler	which	produces	
naDve	code	for	compiled	java	methods.	It	uses	libelf	for	producing	.so	AOT	libraries.	
	
To	use	‘jaotc’	user	have	to	specify	.class,	.jar	files	or	java	module	name	as	input	and	resulDng	AOT	library	
name	as	output:	
	 			jaotc	--output	libHelloWorld.so	HelloWorld.class	
	 			jaotc	--output	libjava.base.so	--module	java.base	
•  User	can	specify	which	methods	to	compile	or	exclude	with	—compile-commands	flag	
						jaotc	--output	libjava.base.so	—compile-commands	base.txt	—module	java.base	
•  During	JVM	startup	the	AOT	iniDalizaDon	code	looks	for	shared	libraries	in	($JAVA_HOME/lib)	or	
libraries	specified	by	-XX:AOTLibrary	opDon.	If	shared	libraries	are	found,	these	are	loaded	and	used.	
															java	-XX:AOTLibrary=./libHelloWorld.so,./libjava.base.so	HelloWorld
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
JDK	9	-	What	is	JShell?	
	
•  Tool	providing	a	dynamic	interacDon	with	the	Java™	programming	
language	in	the	Cloud	
•  Read-Evaluate-Print	Loop	(REPL)	for	the	Java™	plaKorm	in	the	Cloud	
– Type	in	a	snippet	of	Java	code,	see	the	results	
•  Deeply	integrated	with	JDK	tool-set	
– Stays	current	and	compaDble	
•  Also,	an	interacDve	API	for	use	within	other	applicaDons	
20
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
What	is	JShell	NOT?	
	
•  Not	a	new	language	
– “Snippets”	of	pure	
– No	new	syntax	
•  Not	a	replacement	for	the	compiler	
•  Not	an	IDE	
21
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Who	wants	JShell?	
	
•  New	to	Java,	new	to	programming	
– Start	with	expressions	vs	classes	
– Immediate	feedback	
•  Exploring	a	new	API	or	language	feature	
– Experiment	and	instantly	see	results	
•  Prototyping	and	interacDvity	
– Incrementally	write	complex	code	
22
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
With	JShell	
		
•  Type	in	a	“snippet”	of	code	
•  Immediately	see	its	behavior	
DEMO	
23
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Java	9	-	G1	Garbage	Collector	as	the	Default	
•  MulD-year	effort	to	deliver	next	generaDon	GC	
improvements	
•  GC	pause-Dmes	have	the	largest	impact	on	applicaDon	
performance,	predictability	and	responsiveness	
•  G1	uses	one	conDguous	heap	space	divided	into	many	
fixed	size	regions	(analog	to	pages	in	VM	OS’s)	
–  Per region scalable collection process	
–  Size	can	be	1	MB	–	32	MB	
–  New	architecture	to	scale	up	to	mulD-TB	heap	
●  Each	region	can	be	assigned	a	unique	evicDon/
compacDon	policy	(Eden	region,	Survivor	region,	
Humongous	or	Old	region)	
E
S
OO
O
O
O
O
O O
O
O
OO
O
O HO
S
SS
E
E E
E
EE
H
O
H
O
E
S
Eden regions
Survivor regions
Old generation regions
H Humongous regions
Available / Unused regions
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
	
	
	
•  Commercial	feature	to	reduces	physical	memory	usage	for	loaded	classes	
•  Faster	startup	Dme	due	to	pre-loaded	class	metadata.	
•  Shares	of	class	metadata	across	JVM	processes.	
•  AppCDS	stores	class	metadata	in	a	Java	Shared	Archive	file	(JSA)	
–  bytecodes,	field	tables,	method	tables,	etc.	
•  JVM	was	modified	to	load	more	efficiently	these	Shared	Archive	files	
•  MulDple	JVM	processes	can	memory-map	the	same	JSA	file	
–  Memory	in	the	JSA	file	is	shared	across	processes	
–  Memory	is	split	into	Read-Only	(shared)	and	Read-Write	(Copy-on-Write)	
What is AppCDS?
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 27
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 28
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
String	Density	
•  The	String	Class	stores	characters	using	a	UTF-16	encoding	(use	2	bytes	per	
character)	
– But,	the	vast	majority	of	Java	apps	really	use	only	single	byte	characters	
•  Consequence	
– Lots	of	wasted	space	/	memory	
•  JDK	9	feature	(JEP	254)	
– Modify	the	JVM	runDme,	JIT,	GC	and	String	class	to	transparently	opDmize	the	
internal	character	encoding	(use	single	vs	mulD-bytes)		
– Requirements	
•  Reduce	memory	footprint,	yet	not	sacrifice	throughput	performance	
•  No	API	change,	no	re-compilaDon	or	code	modificaDons	required	by	upstream	FMW	or	Fusion	Apps	
to	realize	benefit	
•  Support	on	X86/x64,	SPARC	and	Linux,	Solaris,	Windows,	OS	X	
29
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Density	String	
30	
•  Analyzed	nearly	1,000’s	heap	profiles	
–  Vast	majority	of	characters	in	Java	Strings	
are	single	byte	chars	
–  75%	of	Strings	are	smaller	than	35	
Characters	
–  75%	of	Characters	are	in	Strings	of	Length	
<	250	
–  5%	-	20%	memory	footprint	reducDon	
opportunity	per	applicaDon	
•  Specjbb	2005	
– 21%	memory	footprint	reduc,on	
– 27%	less	GCs	
– 5%	throughput	improvement
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Flight	Recorder	Performance	
•  Built	into	the	JVM/JDK,	by	the	people	developing	the	JVM	
•  Less	that	1%	overhead	in	producDon	deployment	
•  High	performance	flight	recording	engine	and	high	
performance	data	collecDon	
–  Access	to	data	already	collected	in	the	JVM	runDme		
–  Thread	local	naDve	buffers	
–  Invariant	TSC	for	Dme	stamping	
–  More	accurate	method	profiling	(method	profiling	data	even	from	
outside	safe-points)	
–  Faster	and	more	accurate	allocaDon	profiling	
Extremely	Low	Overhead
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Beyond	9
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
The	Next	Big	Challenge:	Object	Data	layout	
•  Java	is	very	good	at	opDmizing	code,	less	so	at	opDmizing	data	
– Memory	overhead,	less	than	opDmal	performance,	difficult	to	uDlize	modern	hardware	
•  Java’s	type	system	gives	us	primiDves,	objects,	and	arrays	
– Very	flexible!	Can	model	almost	anything.	
•  But	flexibility	is	not	exactly	where	we	need	it	
– PrimiDves	are	very	rigid	
– Objects	are	more	flexible	than	we	always	need	
•  The	big	problem:	object	idenDty	
– Needed	for	polymorphism,	mutability	
– Not	all	objects	need	it,	but	all	objects	pay	for	it
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Improved	Java/NaDve	Interoperability	
	
34	
•  Big	Data	Hadoop	and	Spark	are	highly	dependent	on	naDve	libraries		
–  These	dependencies	won’t	go	away		
•  OS	I/0	entries,	GPU	BLAS/LAPACK,	AVX/Crypto/CRC	intrinsics		
–  InteracDng	with	NaDve	library	from	Java	is	hard	at	best		
–  JNI	is	complex,	slow	and	hard	to	secure	-	true	for	code,	as	well	as	for	data		
• Meanwhile,	Java	has	significant	technical	debts	in	support	of	foreign	calls	
–  APIs	export	data	structure	layouts	(struct	stat)	which	are	hard	to	traverse	
–  The	“cultural	pracDces”	(like	safety)	are	different	between	Java	and	C	
• Project	Panama	-	provide	an	easier,	safer	and	faster	JNI	
–  Adding	Foreign	FuncDon	and	foreign	data	support	to	Java	(Frozen	Arrays,	Vector	API	and	Arrays	2.0)	
–  AutomaDc	type	translaDon	(naDve	vs.	carrier/java	types)		
–  No	unsafe	–	provides	safe	APIs	to	access	naDve	data/funcDons
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Summary	
•  Java	SE	adopDon	is	thriving	in	the	Cloud	and	will	conDnue!	
•  Need	your	help	on	providing	feedback	on	Java	9	
– h;ps://jdk9.java.net/download/	
•  Beyond	9,	we	have	a	solid	technical	roadmap		
•  Let’s	conDnue	to	innovate	and	advance	the	Java	SE	PlaKorm	on	OpenJDK	
together!
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
java-se-9-cloud

Contenu connexe

En vedette

Java 9 – The Ultimate Feature List
Java 9 – The Ultimate Feature ListJava 9 – The Ultimate Feature List
Java 9 – The Ultimate Feature ListTakipi
 
Akka-chan's Survival Guide for the Streaming World
Akka-chan's Survival Guide for the Streaming WorldAkka-chan's Survival Guide for the Streaming World
Akka-chan's Survival Guide for the Streaming WorldKonrad Malawski
 
Du développement à la livraison avec JavaFX et le JDK9
Du développement à la livraison avec JavaFX et le JDK9Du développement à la livraison avec JavaFX et le JDK9
Du développement à la livraison avec JavaFX et le JDK9Thierry Wasylczenko
 

En vedette (7)

Java: вчера, сегодня, завтра
Java: вчера, сегодня, завтраJava: вчера, сегодня, завтра
Java: вчера, сегодня, завтра
 
Java 9 – The Ultimate Feature List
Java 9 – The Ultimate Feature ListJava 9 – The Ultimate Feature List
Java 9 – The Ultimate Feature List
 
Java 9 Modularity in Action
Java 9 Modularity in ActionJava 9 Modularity in Action
Java 9 Modularity in Action
 
Java modularity: life after Java 9
Java modularity: life after Java 9Java modularity: life after Java 9
Java modularity: life after Java 9
 
Akka-chan's Survival Guide for the Streaming World
Akka-chan's Survival Guide for the Streaming WorldAkka-chan's Survival Guide for the Streaming World
Akka-chan's Survival Guide for the Streaming World
 
JavaFX et le JDK9
JavaFX et le JDK9JavaFX et le JDK9
JavaFX et le JDK9
 
Du développement à la livraison avec JavaFX et le JDK9
Du développement à la livraison avec JavaFX et le JDK9Du développement à la livraison avec JavaFX et le JDK9
Du développement à la livraison avec JavaFX et le JDK9
 

Plus de C4Media

Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoC4Media
 
Next Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileC4Media
 
Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020C4Media
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsC4Media
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No KeeperC4Media
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like OwnersC4Media
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaC4Media
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideC4Media
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDC4Media
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine LearningC4Media
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at SpeedC4Media
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsC4Media
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsC4Media
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerC4Media
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleC4Media
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeC4Media
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereC4Media
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing ForC4Media
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data EngineeringC4Media
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreC4Media
 

Plus de C4Media (20)

Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
 
Next Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy Mobile
 
Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java Applications
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No Keeper
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like Owners
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate Guide
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
 

Dernier

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 

Dernier (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

Java SE 9: Continuing to Thrive in the Cloud!