La presentazione tenuta da Davide Del Vecchio e Nino Guarnacci in occasione del Codemotion a Roma del 5 marzo 2011 - http://www.codemotion.it/
Nato sotto gli auspici della GPL v.2 l'Open Jdk è il laboratorio per il futuro di Java : perchè dovreste usarlo, come attivare le caratteristiche più innovative e quali sono gli aspetti più interessanti non solo per la parte sound...
El documento habla sobre la unidad del alma con Dios. Explica que el alma es una por su esencia, se resiste a todas las criaturas y no quiere nada sino a Dios, y es inmutable en sí misma. También menciona que durante la segunda mitad del siglo XIV y primera del siglo XV hubo un florecimiento del misticismo, y que el ser humano no podrá ser feliz hasta que esté plenamente unido a Dios.
Tiago e Gabriela estão em um relacionamento sério em Nova York. Marcia tem um desejo de vingança contra eles porque o pai de Gabriela matou a família de Marcia durante a Segunda Guerra Mundial. Cinco dias antes do casamento de Tiago e Gabriela, eles descobrem que Gabriela tem câncer, mas decidem se casar de qualquer maneira.
O documento discute conceitos básicos de eletricidade e eletrostática, incluindo: 1) A matéria é composta de átomos formados por prótons, elétrons e nêutrons; 2) Prótons possuem carga positiva e elétrons carga negativa mantendo o átomo neutro; 3) Corpos podem se tornar carregados por excesso ou falta de elétrons.
Este documento discute la importancia de identificar y cambiar los paradigmas o creencias subyacentes que guían nuestra comprensión del mundo. Explica que los paradigmas actúan como lentes que afectan cómo percibimos y evaluamos las situaciones. Para lograr un cambio profundo y duradero, debemos modificar nuestros paradigmas fundamentales en lugar de solo cambiar nuestras conductas y actitudes. También introduce algunos principios éticos universales que pueden ayudarnos a alinear nuestros paradigmas con la realidad objetiva.
Uk england country editable powerpoint maps with states and countiesSlideTeam.net
The document shows a map of England with counties labeled. England is located near Scotland, Northern Ireland, Isle of Man, and Ireland. The map provides the names and locations of the counties that make up England.
JWT: JSON Web Tokens - bye bye Session and Cookie - RFC7519Mario Rossano
JWT: JSON Web Tokens. Bye bye cookie and session for better CyberSecurity and Scalability.
Slide del talk di Mario Rossano al Linux Day Napoli 2017.
Descrizione dello standard RF7519 riguardante JWT "JSON Web Tokens" mediante il quale si eliminano le sessioni - ed i cookie - per la gestione dell'autenticazione utente. Il vantaggio principale è nell'incremento di performance (non essendovi chiamate al database per recuperare i dati di sessione), nell'essere mobile-friendly, adatto anche ad applicazioni native e stateless, ottimale quindi anche in ottica RESTful.
Benvenuto nel nostro approfondimento interattivo sul Java, il linguaggio di programmazione Object-Oriented ampiamente adottato, conosciuto per la sua robustezza, sicurezza e portabilità. Questa presentazione è il tuo gateway per comprendere il perché Java, con la sua sintassi intuitiva e la famosa piattaforma indipendente, continua a essere il pilastro dello sviluppo di software in vari ambienti operativi. Scoprirai i meccanismi alla base della Java Virtual Machine (JVM) e come la piattaforma Java fornisce una base ineguagliabile per lo sviluppo di applicazioni enterprise, mobile e web di alto livello. Dal principiante appassionato di tecnologia al veterano dello sviluppo software, immergiti nella lingua che ha ridefinito i codici della programmazione.
Molto spesso in tutta la gestione della vita del software si pensa al database come una cosa mistica, scritto nella pietra, con sue regole e tempi. Questo talk vuole portare un pò di chiarezza su come le nuove tecnologie ma soprattutto le nuove metodologie come il DevOps, permettono di gestire il database come se fosse una componente viva dell'applicazione, versionabile e manutendibile. Con l'aiuto di due prodotti opensource come Liquibase e Flyway a confronto per avere le idee chiare da subito, su come utilizzarlo in casa.
A talk overviewing Groovy related technologies and tools which introduction has been favorited by the dynamic nature of the language.
Milan Java User Group, November 2013
Una primissima introduzione al TDD per chi è a digiuno di test in generale e di TDD in particolare. Usa Java/Junit, ma è facimente adattabile ad altri linguaggi. 40-60 minuti.
Presentazione sull'evoluzione di Struts, primo framework web MVC in ambito Java e sul merger con WebWork, effettuata durante la (prima!) tappa di Torino della prima edizione di JavaDay '06.
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
Increased complexity makes it very hard and time-consuming to keep your software bug-free and secure. We introduce fuzz-testing as a method for automatically and continuously discovering vulnerabilities hidden in your code. The talk will explain how fuzzing works and how to integrate fuzz-testing into your Software Development Life Cycle to increase your code’s security.
Pompili - From hero to_zero: The FatalNoise neverending storyCodemotion
It was 1993 when we decided to venture in a beat'em up game for Amiga. The Catalypse's success story pushed me and my comrade to create something astonishing for this incredible game machine... but things went harder, assumptions were slightly different, and italian competitors appeared out of nowhere... the project died in 1996. Story ended? Probably not...
Il Commodore 65 è un prototipo di personal computer che Commodore avrebbe dovuto mettere in commercio quale successore del Commodore 64. Purtroppo la sua realizzazione si fermò appunto allo stadio prototipale. Racconterò l'affascinante storia del suo sviluppo ed il perchè della soppressione del progetto ormai ad un passo dalla immissione in commercio.
Rivivere l'ebbrezza di progettare un vecchio computer o una consolle da bar è oggi possibile sfruttando le FPGA, ovvero logiche programmabili che consentono a chiunque di progettare il proprio hardware o di ricrearne uno del passato. In questa sessione si racconta come dal reverse engineering dell'hardware di vecchie glorie come il Commodore 64 e lo ZX Spectrum sia stato possibile farle rivivere attraverso tecnologie oggi alla portata di tutti.
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
There's a lot of talk about blockchain, but how does the technology behind it actually work? For developers, getting some hands-on experience is the fastest way to get familiair with new technologies. So let's build a blockchain, then! In this session, we're going to build one in plain old Java, and have it working in 40 minutes. We'll cover key concepts of a blockchain: transactions, blocks, mining, proof-of-work, and reaching consensus in the blockchain network. After this session, you'll have a better understanding of core aspects of blockchain technology.
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
When was the last time you were truly lost? Thanks to the maps and location technology in our phones, a whole generation has now grown up in a world where getting lost is truly a thing of the past. Location technology goes far beyond maps in the palm of our hand, however. In this talk, we will explore how a ridesharing app works. How do we discover our destination?How do we find the closest driver? How do we display this information on a map? How do we find the best route?To answer these questions,we will be learning about a variety of location APIs, including Maps, Positioning, Geocoding etc.
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
Eward Driehuis, SecureLink's research chief, will guide you through the bumpy ride we call the cyber threat landscape. As the industry has over a decade of experience of dealing with increasingly sophisticated attacks, you might be surprised to hear more attacks slip through the cracks than ever. From analyzing 20.000 of them in 2018, backed by a quarter of a million security events and over ten trillion data points, Eward will outline why this happens, how attacks are changing, and why it doesn't matter how neatly or securely you code.
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
IoT revolution is ended. Thanks to hardware improvement, building an intelligent ecosystem is easier than never before for both startups and large-scale enterprises. The real challenge is now to connect, process, store and analyze data: in the cloud, but also, at the edge. We’ll give a quick look on frameworks that aggregate dispersed devices data into a single global optimized system allowing to improve operational efficiency, to predict maintenance, to track asset in real-time, to secure cloud-connected devices and much more.
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
What if Virtual Reality glasses could transform your environment into a three-dimensional work of art in realtime in the style of a painting from Van Gogh? One of the many interesting developments in the field of Deep Learning is the so called "Style Transfer". It describes a possibility to create a patchwork (or pastiche) from two images. While one of these images defines the the artistic style of the result picture, the other one is used for extracting the image content. A team from TNG Technology Consulting managed to build an AI showcase using OpenCV and Tensorflow to realize such goggles.
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Codemotion
The document summarizes some of the security issues with blockchain technology. It discusses how blockchain is not a "silver bullet" and does not inherently solve problems like privacy and security of smart devices. It outlines various application security issues with complex code, protocols, and difficulty of updates on blockchains. Concerns over data immutability and security of smart contracts are also covered. The document questions whether blockchain truly provides the level of decentralization and anonymity claimed, and outlines some impossibility results and limitations of existing approaches to achieving security and privacy in blockchain systems.
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
The document provides an overview of the HTTP network protocol in its early stages of development. It summarizes the initial IMP (Interface Message Processor) software used to establish connections and transmit messages over the ARPANET. It outlines some early requirements for host-to-host software to enable simple and advanced use between computer systems. The document also describes the initial host software specifications, including establishing connections, transmitting data efficiently, and implementing error checking between connected systems. This was one of the first documents to define core aspects of the early HTTP network protocol to enable information exchange over the fledgling internet.
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
Performance tests are not only an important instrument for understanding a system and its runtime environment. It is also essential in order to check stability and scalability – non-functional requirements that might be decisive for success. But won't my cloud hosting service scale for me as long as I can afford it? Yes, but… It only operates and scales resources. It won't automatically make your system fast, stable and scalable. This talk shows how such and comparable questions can be clarified with performance tests and how DevOps teams benefit from regular test practise.
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
Sascha will demonstrate the opportunities and challenges of Conversational AI learned from the practice. Both Technology and User Experience will be covered introducing a process finding micro-moments, writing happy paths, gathering intents, designing the conversational flow, and finally publishing on almost all channels including Voice Services and Chatbots. Valuable for enterprises, developers, and designers. All live on stage in just minutes and with almost no code.
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
A key challenge we face at Pacmed is quickly calibrating and deploying our tools for clinical decision support in different hospitals, where data formats may vary greatly. Using Intensive Care Units as a case study, I’ll delve into our scalable Python pipeline, which leverages Pandas’ split-apply-combine approach to perform complex feature engineering and automatic quality checks on large time-varying data, e.g. vital signs. I’ll show how we use the resulting flexible and interpretable dataframes to quickly (re)train our models to predict mortality, discharge, and medical complications.
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
Coolblue is a proud Dutch company, with a large internal development department; one that truly takes CI/CD to heart. Empowerment through automation is at the heart of these development teams, and with more than 1000 deployments a day, we think it's working out quite well. In this session, Pat Hermens (a Development Managers) will step you through what enables us to move so quickly, which tools we use, and most importantly, the mindset that is required to enable development teams to deliver at such a rapid pace.
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
Quantum computers can use all of the possible pathways generated by quantum decisions to solve problems that will forever remain intractable to classical compute power. As the mega players vie for quantum supremacy and Rigetti announces its $1M "quantum advantage" prize, we live in exciting times. IBM-Q and Microsoft Q# are two ways you can learn to program quantum computers so that you're ready when the quantum revolution comes. I'll demonstrate some quantum solutions to problems that will forever be out of reach of classical, including organic chemistry and large number factorisation.
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
Chinese food exploded across America in the early 20th century, rapidly adapting to local tastes while also spreading like wildfire. How was it able to spread so fast? The GY6 is a family of scooter engines that has achieved near total ubiquity in Europe. It is reliable and cheap to manufacture, and it's made in factories across China. How are these factories able to remain afloat? Chinese-American food and the GY6 are both riveting studies in product-market fit, and both are the product of a distributed open source-like development model. What lessons can we learn for open source software?
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
The design space has exploded in size within the last few years and Sketch is one of the most important milestones to represent the phenomenon. But behind the scenes of this growing reality there is a remote team that revolutionizes the design space all without leaving the home office. This talk will present how Sketch has grown to become a modern, product designer's tool.
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Codemotion
Would you fly in a plane designed by a craftsman or would you prefer your aircraft to be designed by engineers? We are learning that science and empiricism works in software development, maybe now is the time to redefine what “Software Engineering” really means. Software isn't bridge-building, it is not car or aircraft development either, but then neither is Chemical Engineering. Engineering is different in different disciplines. Maybe it is time for us to begin thinking about retrieving the term "Software Engineering" maybe it is time to define what our "Engineering" discipline should be.
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
What is the job of a CTO and how does it change as a startup grows in size and scale? As a CTO, where should you spend your focus? As an engineer aspiring to be a CTO, what skills should you pursue? In this inspiring and personal talk, I describe my journey from early Red Hat engineer to CTO at Bloomon. I will share my view on what it means to be a CTO, and ultimately answer the question: Should the CTO be coding?
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Open Jei Di Key not only for DJ's
1. Open Jei Di Key not only for DJ's
ATTENZIONE: Questo intervento è stato
reciclato tra quelli scartati.
Successivamente ripescato (tipo Pupo a
Sanremo) per la triste rinuncia di qualcuno a
tenere lo stra-atteso intervento:
SKRONDO il linguaggio del futuro
per qualcuno
Nino Guarnacci davide.delvecchio@gmail.com
Davide Del Vecchio nino.guarnacci@oracle.com
sabato 5 marzo 2011
2. Java Language
Most Popular Language in the World
Nino Guarnacci <--> Davide Del Vecchio
sabato 5 marzo 2011
3. Java Around Us
Servers Desktop Embedded TV Mobile Card
BD-J
Java EE JavaFX Java TV MSA
Java SE Java ME Java Card
Java Language
Nino Guarnacci <--> Davide Del Vecchio
sabato 5 marzo 2011
4. JCP Evolve & Adapt Java
Community Development of
Java Technology Specifications
Nino Guarnacci <--> Davide Del Vecchio
sabato 5 marzo 2011
5. Java Priorities
Grow Developer Base
Grow Adoption
Increase Competitiveness
Adapt to change
Nino Guarnacci <--> Davide Del Vecchio
sabato 5 marzo 2011
6. Vision Java
• Drive continued investment in the Java
platform across a range of servers and
devices
• Fuel further innovation in the Java
platform, including JavaFX
• Continue supporting developer
community, open source, and JCP
Nino Guarnacci <--> Davide Del Vecchio
sabato 5 marzo 2011
7. Standard Edition
• Rapid delivery of JDK 7 Oracle
• Converge features of HotSpot and JRockit
JVM:
– Leading performance
– Monitoring and management
– Automated performance tuning
– Virtualized servers
– Efficient garbage collection
– Deterministic, real time behavior
• Focus on Serviceability and Interoperability
• Continue support for all leading OS platforms
Nino Guarnacci <--> Davide Del Vecchio
sabato 5 marzo 2011
8. Contributors
• Oracle Is Committed to the Best Open-Source Java
Implementation
• Backed by Some of the biggest names in software:
–“Oracle and IBM Collaborate to Accelerate Java
Innovation Through OpenJDK”
–“Oracle and Apple Announce OpenJDK Project for Mac
OS X”
–Red Hat and Sun (Oracle) Collaborate to Advance Open
Source Java Technology
Nino Guarnacci <--> Davide Del Vecchio
sabato 5 marzo 2011
9. OJDK 7 Fetaures
• InvokeDynamic byte code + supporting features
– Multi-lang support
• Small Language Enhancements (Project ”Coin”)
• Lambda Expressions (“Closures”) JSR 335
• SDP and SCTP Support
• New I/O APIs
– Filesystem, async I/O
• JVM Improvements
– Performance and serviceability
Nino Guarnacci <--> Davide Del Vecchio
sabato 5 marzo 2011
10. Project Coin
Strings in switch
• Binary integral literals and underscores in numeric literals
• Multi-catch and more precise rethrow
• try-with-resources statement
• Improved type inference for generic instance creation (diamond)
• Simplified varargs method invocation
Nino Guarnacci <--> Davide Del Vecchio
sabato 5 marzo 2011
11. String in Switch
p ublic String getTypeOfDayWithSwitchStatement(String dayOfWeekArg) {
String typeOfDay;
switch (dayOfWeekArg) {
case "Monday":
typeOfDay = "Start of work week";
break;
case "Tuesday":
case "Wednesday":
case "Thursday":
typeOfDay = "Midweek";
break;
case "Friday":
typeOfDay = "End of work week";
break;
case "Saturday":
case "Sunday":
typeOfDay = "Weekend";
break;
default:
throw new IllegalArgumentException("Invalid day of the week: " +
dayOfWeekArg);
}
return typeOfDay;
}
Nino Guarnacci <--> Davide Del Vecchio
sabato 5 marzo 2011
12. Binary integral literals and underscores in numeric
literals
// An 8-bit 'byte' literal.
byte aByte = (byte)0b00100001;
// A 16-bit 'short' literal.
short aShort = (short)0b1010000101000101;
long creditCardNumber = 1234_5678_9012_3456L;
long socialSecurityNumber = 999_99_9999L;
float pi = ! 3.14_15F;
long hexBytes = 0xFF_EC_DE_5E;
long hexWords = 0xCAFE_BABE;
long maxLong = 0x7fff_ffff_ffff_ffffL;
byte nybbles = 0b0010_0101;
long bytes = 0b11010010_01101001_10010100_10010010;
Nino Guarnacci <--> Davide Del Vecchio
sabato 5 marzo 2011
13. Multi-catch and more precise rethrow
catch (IOException ex) {
logger.log(ex);
throw ex;
catch (SQLException ex) {
logger.log(ex);
throw ex;
}
Open JDK7
catch (IOException|SQLException ex) {
logger.log(ex);
throw ex;
}
Nino Guarnacci <--> Davide Del Vecchio
sabato 5 marzo 2011
14. try-with-resources statement
static void copy(String src, String dest) throws IOException {
InputStream in = new FileInputStream(src);
try {
OutputStream out = new FileOutputStream(dest);
try {
byte[] buf = new byte[8 * 1024]; • java.nio.channels.FileLock
• javax.imageio.stream.ImageInputStream
int n;
• java.beans.XMLEncoder
while ((n = in.read(buf)) >= 0) • java.beans.XMLDecoder
out.write(buf, 0, n); • java.io.ObjectInput
} finally { • java.io.ObjectOutput
out.close(); • javax.sound.sampled.Line
} • javax.sound.midi.Receiver
} finally { • javax.sound.midi.Transmitter
• javax.sound.midi.MidiDevice
in.close(); • java.util.Scanner
} • java.sql.Connection
} • java.sql.ResultSet
• java.sql.Statement
Open JDK7
static void copy(String src, String dest) throws IOException {
try (InputStream in = new FileInputStream(src);
OutputStream out = new FileOutputStream(dest)) {
byte[] buf = new byte[8192];
int n;
while ((n = in.read(buf)) >= 0)
out.write(buf, 0, n);
}
Nino Guarnacci <--> Davide Del Vecchio
sabato 5 marzo 2011
15. Linguaggi per la JVM (http://is-research.de/info/
vmlanguages)
Davide Del Vecchio <--> Nino Guarnacci
sabato 5 marzo 2011
16. Perché tutto questo
affollamento?
Perché viene scelto di usare il
runtime di java per
implementare nuovi linguaggi
anche strutturalmente diversi?
Davide Del Vecchio <--> Nino Guarnacci
sabato 5 marzo 2011
17. Multi Language JVM JRuby (Antonio Cangiano
Luglio 2010)
Davide Del Vecchio <--> Nino Guarnacci
sabato 5 marzo 2011
18. Vantaggi dell’uso di una JVM
Velocità :
> performance (JIT che ottimizza le
chiamate, nessun interprete)
> Uso della memoria efficiente (GC,
nessuna allocazione tramite primitive
malloc)
> multiprocessor scaling (pervasive
threading)
Davide Del Vecchio <--> Nino Guarnacci
sabato 5 marzo 2011
19. Vantaggi per Java di questa
apertura
In molti casi è utile disporre di un
linguaggio con una semantica diversa
>Testing (è molto comodo scrivere un
test per Java in Groovy)
>DSL (espressività ..)
Davide Del Vecchio <--> Nino Guarnacci
sabato 5 marzo 2011
20. Strumenti
Che cosa abbiamo a
disposizione per
implementare nuovi
linguaggi e migliorare
le perfomance di quelli
che ci sono?
Davide Del Vecchio <--> Nino Guarnacci
sabato 5 marzo 2011
21. Javax.scripting Solo un Driver
Le JSR 223 (Scripting for the java platform) tenevano conto
della necessità di interazione con diversi linguaggi di
scripting : poteva essere dichiarato uno scripting engine
ed invocato da codice java alla maniera in cui si carica un
driver JDBC
ScriptEngineManager scriptEngineMgr = new
ScriptEngineManager(); ScriptEngine jsEngine =
scriptEngineMgr.getEngineByName("JavaScript");
Davide Del Vecchio <--> Nino Guarnacci
sabato 5 marzo 2011
22. VM multilinguaggio
> Supporto per linguaggi dinamici
> Perfomance paragonabili a quelle native
> Estendibile senza hacking o riuso
Il codice scritto in un linguaggio dovrebbe:
Invocare codice scritto in un linguaggio
diverso
Manipolare oggetti nativi di un
linguaggio diverso
Davide Del Vecchio <--> Nino Guarnacci
sabato 5 marzo 2011
23. Come avviene l’invocazione di un
metodo?
Pensiamo ad
un’invocazione di un
metodo come ad un
trasferimento di
messaggi
Davide Del Vecchio <--> Nino Guarnacci
sabato 5 marzo 2011
24. Come avviene un’invocazione
(bytecode)
identificati scope receiver? dispatch?
vo
invokestatic class no no
invokespecia class yes no
l
invokevirtual class yes yes
invokeinterfa interface yes yes
ce
Davide Del Vecchio <--> Nino Guarnacci
sabato 5 marzo 2011
25. Un’ulteriore ditta di trasporto
Invokedynamic
obj.helloText
⇓
methodVisitor.visitMethodInsn(
INVOKEDYNAMIC,
"InvokeDynamic",
"dyn:getProp:helloText",
"(Ljava/lang/Object;)Ljava/lang/
Object;");
Davide Del Vecchio <--> Nino Guarnacci
sabato 5 marzo 2011
26. Perché è meglio?
Separa il lavoro in due fasi: link-time
and
invocation-time
• Quanto più possiamo spendere su
link-time è meglio
• nel caso precedente l’id della
proprietà è fisso e quindi può essere
risolto a link-time
Davide Del Vecchio <--> Nino Guarnacci
sabato 5 marzo 2011
27. Come la reflection? NO
Java può fare questo con le
reflection API (che sono
quelle adoperate per
l’implementazione dei
linguaggi visti prima)
Davide Del Vecchio <--> Nino Guarnacci
sabato 5 marzo 2011
28. Reflection Basics
public static Object invoke(Object
targetObject, String methodName,
Object[] arguments, Class<?>[]
signature)
return method.invoke(targetObject,
arguments);
Davide Del Vecchio <--> Nino Guarnacci
sabato 5 marzo 2011
29. No Wrapping
Non ci sono tutte le
restrizioni
dell’invocazione di
metodi
• Nessun wrapping di
eccezione
• La verifica delle
condizioni di accesso è
fatta a tempo di
creazione
Davide Del Vecchio <--> Nino Guarnacci
sabato 5 marzo 2011
30. Piccole patch per la JVM
ufficiale
>invokedynamic (indy.patch)
> method handles (meth.patch)
> small Java language changes
(langtools/meth.patch)
> interface injection (inti.patch)
Davide Del Vecchio <--> Nino Guarnacci
sabato 5 marzo 2011
31. JSR 292
JSR-292 fornisce la specifica per la il bytecode perla
dynamic method invocation, più un meccanismo
per l’evoluzione del codice
> Quello che adesso è presente è il
• invokedynamic bytecode
• Application-defined linkage (and re-linkage)
• Method handles
• Un’infrastruttura generale per "code pointers"
• Interface injection
Davide Del Vecchio <--> Nino Guarnacci
sabato 5 marzo 2011
32. Nino Guarnacci Davide Del Vecchio
nino.guarnacci@oracle.com davide.delvecchio@gmail.com
lo SKRONDO
sabato 5 marzo 2011