Skip to main content

Posts

Showing posts from 2015

Java Garbage Collection handbook

A few nice links about garbage collection Java Garbage Collection handbook http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html http://www.cubrid.org/blog/dev-platform/understanding-java-garbage-collection/ Wikipedia: Garbage Collection

Virtual Technology Summits replay videos

The Virtual Technology Summits replay videos are quite interesting. Use the link below: https://community.oracle.com/groups/otn-vts-java-replay-library to find some interesting videos about Java 8 DateTime library Java with IoT Java 8 JavaScript Nashorn Docker with Java RaspberryPi and Java

Upcoming new Java books

Here are some interesting sounding future Java books that will be published over the next few months: O'Reilly   Cloud Native Java Cloud Native Java: Designing Resilient Systems with Spring Boot, Spring Cloud, and Cloud Foundry Cloud Native Java: Designing Resilient Systems with Spring Boot, Spring Cloud, and Cloud Foundry PACKT     Machine Learning in Java Machine Learning in Java Algorithms in a Nutshell (2nd Edition) Publisher: O'Reilly Release Date: 25 Dec 2015 ISBN: 978-1491948927 Algorithms in a Nutshell: A Desktop Quick Reference Core Java Volume 1 - Fundamentals  (10th Edition) Publisher: Prentice Hall Release Date: 28 Dec 2015 ISBN: 978-0134177304 Amazon.co.uk: Core Java -Fundamentals: Volume I: 1 PACKT   Neural Network Programming with Java Neural Network Programming with Java PEARSON   Absolute JAVA Absolute Java Beginning Java Game Development with LibGDX Publisher: Apress  Release Date: 10 Feb 2016

Excellent Java courses available for free during Pluralsight Trailblazer event

http://course.pluralsight.com/camp/trailblazer/ Pluralsight has 36 courses available for free during its trailblazer event. If you have the time, I would encourage you to try out this offer and take 2 excellent Java courses: Understanding Java VM memory management This memory management courses offers a detailed refresher into the Garbage Collector, and covers some useful tools and techniques. The section on reference classes is particularly interesting, I had never heard of WeakReferences before. Java Testing Introduction This Java testing course is fantastic. I highly recommend it to every Java developer.  They have flagged it as beginner level in this event, and it is short, but it is highly technical and useful. I've never seen a better introduction to unit testing. Happy course watching.

Where do you test your code?

I've been thinking a lot about the "it works on my machine" issue. We seem to build up and take care of our development environments or virtual machines (VMs). They have a state, mostly a non-deterministic state after being maintained for so long. The idea of spinning up an environment just to test some code would have been infeasible until recently. I do enjoy using VirtualBox , I've been using it for years. I didn't know that it could be used to automate the deployment of virtual machines. We have developers and devops in the office looking into Docker for this task, but I'm quite comfortable with virtualisation and I thought that I would see if I could use virtualbox (or KVM) for this. I discovered that Vagrant is a wonderful tool for this automated creation, provisioning and clean up of VMs for development and testing. I've only used Vagrant for 1 week, but I'm enjoying it so far. My PC at work is fairly old and slow, but even so, I can s

Multiple Java engines spotted with OpenJDK 7

With Oracle JDK 7, I see the usual VM options for 32 or 64-bit and -server to specify the server class JVM. With OpenJDK 7, I found it interesting to see quite a few more JVM options: Wikipedia: List of Java virtual machines Wikipedia: JamVM

Charles Oliver Nutter - Fast as C: How to write really terrible Java

Charles Oliver Nutter - Fast as C: How to write really terrible Java In this talk, we’ll explore the main reasons why Java code rarely runs as fast as C or C++ and how you can write really bad Java code that the JVM will do a better job of optimizing. We’ll take some popular microbenchmarks and burn them to the ground, monitoring JIT logs and assembly dumps along the way. vimeo Java talk video

Verbose class loading

At work, a couple of long time experience Java devs were having build issues. They didn't know where their build system was pulling in a class from. They didn't know that the JVM has a verbose class loading option. If you run java -h, you will see this in the output:     -verbose:[class|gc|jni]                  enable verbose output If you invoke your JVM like this: java -verbose:class myHelloWorld then the output will be very verbose as the class loader prints out detailed of all the classes loaded during startup and during the finding and running of your class. e.g. [Loaded java.net.URLConnection from /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rt.jar] [Loaded sun.net.www.URLConnection from /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rt.jar] [Loaded sun.net.www.protocol.file.FileURLConnection from /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rt.jar] [Loaded sun.net.www.MessageHeader from /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rt.jar] [Loaded

The OpenJDK9 Revised Java Memory Model

It can be helpful to consider the Java Memory Model when thinking about multithreading. It is being refreshed for Java 9: The OpenJDK Revised Java Memory Model JSR 133 https://jcp.org/en/jsr/detail?id=133 JSR 133 Cookbook Wikipedia: Java memory model

ButterFaces a smart JSF framework

An interesting looking new JSF framework: "Welcome to ButterFaces, a lightweight and modern JSF framework that combines the advantages from Bootstrap, jQuery and HTML 5 to develop fast, easy and modern web applications using JSF 2." ButterFaces a smart JSF framework

Need a Java refresher?

It's amazing to hear that Java is 20 years old already. If you used it and took a break and now want to get back into Java again, the following link could help as a learning refresher: JavaWorld: Learn Java from the ground up Java 20th anniversary #Java20 Update Your Skills for the 20 Years of Java

Update Your Skills for the 20 Years of Java

Java has evolved a lot over 20 years, the latest Java 8 is another large evolution of the JVM and the language. Java Source says that it's time to update your Java skills :-) Update Your Skills for the 20 Years of Java

Where are the slides from the NetBeans Days?

This blog post details how to obtain slides from 2 NetBeans days: Where are the slides from the NetBeans Days? There is still time to go to the UK NetBeans day in May. http://www.eventbrite.com/e/netbeans-day-uk-tickets-16274993945 The agenda has been posted and it all seems really cool.

Zulu®: Multi-platform Certified OpenJDK™

Quite a few websites and blogs were discussing the Oracle public end of life announcement for Java 7, which seems too soon to me, but it has been out for a long time. At work we use a mix of Java 6 and 7 but force everything to compile at Java 6 level because clients are reluctant to upgrade JDKs. Oracle Java SE Support Roadmap So moving to the interesting Java 8, which if possible for your environment, offers many new features, it is possibly the largest update to the JDK/JVM since Java 5? If stuck on Java 6 or 7, then maybe look into the OpenJDK options: Zulu®: Multi-platform Certified OpenJDK™ http://www.azulsystems.com/products/zulu

Some Java related books

Now in print: The Nature of Software Development Amazon.co.uk links: Wrox Press: Beginning Java Programming: The Object Oriented Approach OCP Java SE 7 Programmer II Certification Guide: Prepare for the 1ZO-804 exam Hello, Android: Introducing Google's Mobile Development Platform 4th Edition Java EE 7: The Big Picture

A few of Java EE 6 & 7 links

The following link is an interesting set of links about Java EE 7 and Netbeans 8.0. It's a VTS (Virtual Technology Summt) and looks very interesting: Building a 3-tiered Application with Java EE Enterprises are a bit slow moving to the latest versions of both Java SE & Java EE. Here's a reminder about Java EE 6: Introducing the Java EE 6 Platform, Part 1 http://alexander.holbreich.org/2011/01/javaee5-vs-javaee6/

Java 8: No more loops

Java 8: No more loops Oracle: What's new in JDK 8 5 features in Java 8 that will change how you code PluralSight course: What's new in Java 8