vendredi 30 mars 2012

Veille technologique semaine 13

Pour le bulletin de la semaine 13, je vous propose les articles suivants :
  • un article de saison.
  • La relation entre les oeuvres (cinéma, musique) et le support : Quand les supports influaient sur les oeuvres.
  • La norme OSGi version 5 est annoncé en draft.
  • Le deuxième article sur le threading en C++11 : la protection des données.
  • Le garbage collector et la gestion automatique des resources avec le JDK 7.
  • Les NIO du JDK 7 : la scalabilité
  • La préparation du JDK 8 : les expressions lambda (les closures) et les modules.
  • Un article sur les myths du langage Scala.
  • Les différents cas d'usage de JUnit : le framework de tests unitaires pour Java.
Bonne lecture.


Goto for the Java Programming Language
Work on JDK 8 is well-underway, but we thought this late-breaking JEP for another language change for the platform couldn't wait another day before being published.

Summary
Provide the benefits of the time-testing goto control structure to Java programs. The Java language has a Goto for the Java history of adding new control structures over time, the assert statement in 1.4, the enhanced for-loop in 1.5,and try-with-resources in 7. Having support for goto is long-overdue and simple to implement since the JVM already has goto instructions.


Quand les supports influaient sur les oeuvres
L'avènement de la dématérialisation des médias a eu des conséquences plus discrètes en apparence que dans leur utilisation et leur distribution : la création même en a été bouleversée. En effet, le support physique a été une contrainte en tant que telle, qui devait être prise en compte dans le processus créatif, et qui a eu une influence sur la forme. Certaines contraintes sont évidentes, par exemple pour la musique : la durée totale d'un album n'a désormais virtuellement plus de limites imposées. D'autres sont plus subtiles pour le consommateur, mais pas moins sans conséquence pour les créateurs.


OSGi Provides Early Access Specifications for Release 5
Today at OSGi DevCon, the OSGi Alliance announced the availability of the early access for Release 5 of OSGi Core and Enterprise specifications. The final release of OSGi R5 is expected later this Summer.
What's new in OSGi R5?


C++11 Concurrency Tutorial – Part 2 : Protect shared data
This post is the second of the C++11 Concurrency Series. See the end of the posts for links to the others. In the previous article, we saw how to start threads to execute some code in parallel. All the code executed in the threads were independent. In the general case, you often use shared objects between the threads. And when you do it, you will face another problem: synchronization.
We will see what is this problem in a simple code.



Garbage Collection with Automatic Resource Management in Java 7
This post provides a brief overview of a new feature introduced in Java 7 called Automatic Resource Management or ARM. The post delves how ARM tries to reduce the code that a developer has to write to efficiently free the JVM heap of allocated resources.
One of the sweetest spots of programming in the Java programming language is automatic handling of object de-allocation. In Java world this is more popularly known as garbage collection; it basically means that developers do not have to worry about de-allocating the object allocated by their code. As soon as a
developer is finished with using the object he can nullify all references to the object and then the object becomes eligible for garbage collection.


JDK7: Part 1- The power of java 7 NIO.2 (JSR 203) (important concepts)
This is a 2 parts series of article, focuses on JSR 203 java 7 NIO.2 API.
1. Part 1 will introduce the main concepts involved in the new JSR.
2. Part 2 will covers the important aspects involved in developing NIO.2-based applications by examples and case studies for the concepts introduced in part 1, this will spice up your Java 7 applications with the new I/O capabilities. You will learn to develop NIO.2 applications, beginning with simple but essential stuff and gradually moving on to complex features such as sockets and asynchronous channels. In this article part 1 I will introduce the new and powerful IO API, packaged & delivered in Java SE 7 NIO.2. Also I will cover all the important aspects involved in developing NIO.2-based applications in brief.


What's Cooking in Java 8 - Project Jigsaw
What is Project Jigsaw: Project Jigsaw is the project to make the java compiler module aware. For years java API has been monolithic, i.e. the whole API was seen from any part of the code equally. There has also not been any way to declare a code's dependency on any other user libraries. Project Jigsaw attempts to solve these problems along with others in a very eligant way. In this article, I will highlight the basic concepts of Jigsaw module systems and also explain how it would work with the commands so as to provide a real feel of it. Currently, Jigsaw is targetted to be included in the release of Java 8. In my opinion, this is a change bigger than generics that came with verion 5 of java platform.


What's Cooking in Java 8 - Project Lambda
What is project lambda: Project lambda is the project to enable lambda expressions in java language syntax. Lambda expressions are major syntax in functional programming languages like lisp. Groovy would be the closest relative of java that has support for lambda expressions, also known as closures.
So what is a lambda expression? It is a block of code that can be assigned to a variable or passed as an argument to a method or passed as an argument to another lambda expression just like any other data. The code can also be invoked whenever required. The main motivation behind supporting this in java is to remove a lot of boiler plate code in using certain API that require some code from the API user, but end up using inner classes just because of java's syntax
requirements. The most common such API is the java threading API where we need to be able to tell the API which code to execute in a new thread, but end up implementing Runnable.


Scala or Java? Exploring myths and facts
The popularization of the Scala programming language, noticeable by the abundance of opinions and criticism on blogs and social networks (like this one by Nikita Ivanov from GridGain and the popular Yammer case), greatly increased the amount of information about the language. However, the quality of such information often leaves much to be desired.


Test: JUnit 4 Do's and Don'ts
DEFINITION:
A unit test examines the behavior of a distinct unit of work. Within a Java application, the "distinct unit of work" is often (but not always) a single method. By contrast, integration tests and acceptance tests examine how various components interact. A unit of work is a task that isn't directly dependent on the completion of any other task. A JUnit 4 test case class skeleton:

Aucun commentaire: