Technical Java/J2EE/Web Services/XML-related information
Part of the evolution of Java in release 8 consists of Lambda expressions. These ‘functional expressions treated as variables’ introduce a powerful Inversion of Control in Java – allowing a clear and elegant distinction between the what [should be done] and how [should it be done]. The Collection APIs have been extended with the notion of Streams to make great use of these lambda expressions. This article shows some examples of what this means, leading up to the revelation that under certain circumstances Java is very similar to SQL.
A Stream is an interface. It is a “[…] potentially infinite sequence of elements. A stream is a consumable data structure. The elements of the stream are available for consumption by either iteration or an operation. Once consumed the elements are no longer available from the stream.” Any collection – as well as several other sources – can be exposed as a Stream. On such as stream, a number of operations – aka a pipeline – can be performed. These operations are either intermediate or terminal:
- intermediate – such as map, filter, sorted, distinct, limit, skip, substream, concat that produce a stream from a stream
- terminal – such as forEach, reduce, More >
Java 8 offers wonderful opportunities and new interesting intellectual challenges for Java developers. With this upcoming release, we are once again focused on programming itself – instead of yet another framework – and learning new programming concepts. The introduction of Generics was the last time Java programming was significantly changed – quite some time ago – and this time this change is both more fundamental and more rewarding. Lambda expressions allow for new, compact, elegant ways of programming that bring the notion of Inversion of Control to the core Java programming language. The language itself as well as APIs created with it can make the distinction between the what [should be done] and the how [should be it done]. The what is expressed in a Lambda expression – a function that can be passed around as a parameter – and the how is left to the API implementation or indeed the JVM itself. A great example of this distinction is found in the parallel execution supported in the Collection classes. Another good example is the tremendous elegance of code that performs a series of operations (such as filter, extract, aggregate, operate). More on these operations on More >
OOW13: summarizing one week and 2000 sessions in 3 hours and a bit – the yearly AMIS OOW Review session – 10th October0
On Thursday 10th of October, the 12 man strong AMIS delegation at Oracle OpenWorld and JavaOne 2013 will present its findings in a 3 hour session at AMIS HQ in Nieuwegein, The Netherlands. You are welcome to attend this free session (from 16.30 on, food provided). Please register here: http://www.amis.nl/nl-NL/evenementen/technologie-evenementen/oow-review.
Note: the event took place as planned. The slides (about 350 of them) can be seen at the SlideShare site of AMIS: AMIS OOW 13 Review Part 1 (Overview, Themes, Announcements, Hardware, Database) , amis-oow13-reviewpart2platformmiddlewarepublication (WebLogic, ExaLogic, Provisioning, Deployment, Testing, Performance) ,
If you want to hear more about the Internet of Things, the In Memory Database, Cloud, Mobile, SOA Suite 12c, BPM Suite, WebLogic, Fast More >
Last week’s JavaOne conference provided insights in the roadmap for the Java platform as well as in the current state of things in the Java community. The close relationship between Oracle and IBM concerning Java, the (continuing) lack of such a relationship with Google, the support from Microsoft for Java applications on its Azure cloud and the vibrant developer community – with over 200 different Java User Groups in many countries of the world.
There were no major surprises or stunning announcements. Java EE 7 (release in June) was celebrated, the progress of Java 8 SE explained as well as the progress on Java Embedded and ME. The availability of NetBeans 7.4 RC1 and JDK 8 Early Adopters release as well as the open sourcing of project Avatar probably were the only real news stories. The convergence of JavaFX and Java SE is almost complete; the upcoming alignment of Java SE Embedded and Java ME is the next big consolidation step that will lead to a unified platform where developers can use the same skills, development tools and APIs on EE, SE, SE Embedded and ME development. This means that anything that runs on ME will run on SE (Embedded) and EE – not necessarily the reverse More >
In this article a second brain dump with observations from the Oracle OpenWorld and JavaOne conferences. These are fairly raw notes – primarily for my own consumption. They may be useful to you as well.Dual Format In-Memory Database
In Memory Column store, allowing Row-scanning at 1 Billion (10E09) rows per second per core, Joining 100x faster
In this article a first brain dump with observations from the Oracle OpenWorld and JavaOne conferences. These are fairly raw notes – primarily for my own consumption. They may be useful to you as well.
OOW13: 1824 sessions, 3104 speakersJ1: 523 sessions, 557 speakers