Friday Nov 16, 2012

Garbage Collection Basics

Duke WavingJava Is an awesome programming language and platform. One of its better features is automatic garbage collection. Ever wondered how that works?

I have written an online web course outlining the basics. Much of what is included has been published before in various white papers and such. However, this is updated for JDK 7 and includes some nice illustrations of the steps involved. Hope you like it.

Garbage Collection Basics


A follow-on web course on the G1 garbage collector should follow in a week or so.

Wednesday Oct 31, 2012

Create .exe and .msi Installers for your JavaFX Apps

Well I wanted to figure out how the new JavaFX native packaging worked, so with a little work, I have written up my findings.

Create a Windows Native Installer and EXE with JavaFX and NetBeans 7.2

All the information is in the articles I have linked to at the end of the page. However, I hopefully have pulled together all the key facts in one place. In addition, I tried to document all the problems I ran into in the troubleshooting section.

So what is the end result?  With everything installed, building an application in NetBeans creates an EXE installer, an MSI installer, and an EXE file to execute your application. Really slick professional stuff. This is a great addition to the whole Java platform.

Tuesday Sep 18, 2012

Creating Asynchronous Methods in EJB 3.1

OBE of the Month: Creating Asynchronous Methods
in EJB 3.1

This OBE covers creating an EJB 3.1 application that demonstrates the use of the @Asynchronous annotation in an Enterprise Java Bean (EJB) class or specific method.

In this tutorial, you will create a Java EE 6 Web Application and add the following components to it - a Stateless Session Bean with two asynchronous methods. You define a Servlet to call the asynchronous methods and to keep track of the invocation and completion times to demonstrate the asynchronous nature of the method calls. The index.jsp will contain a form with a submit button, Run allowing you to execute the application. The form will submit to the Servlet which invokes the asynchronous methods defined in the session bean and the response is re-directed to response.jsp. Information about the asynchronous handling procedure is displayed to users. From this information, users will notice that the invoker thread and the called asynchronous thread are working concurrently.

Check out this new OBE on the Oracle Learning Library: Creating Asynchronous Methods in EJB 3.1. This OBE is part of the new EJB 3.1 New Features Series.

Related OBE’s that might interest you:

Creating a No-Interface View Session Bean and Packaging in a WAR File

Creating and Accessing a Session Bean in a  Web Application

Wednesday Sep 05, 2012

Come see us at JavaU at JavaOne!

In just a little under a month, JavaOne will be in full swing (no pun intended) and thousands of Java developers will gather to hear the latest Java news, immerse themselves in Java technology and learn some new things. This year, I am fortunate enough to be able to attend, along with my Java curriculum development colleagues Matt Heimer and Mike Williams. We start our week at JavaOne teaching a one-day session at JavaU on Sunday morning. If you have never attended a training session through JavaU, you should check it out. There are some terrific sessions this year, and it might help to justify your trip to JavaOne if you can say it was for training!

This year I am teaching a one day session on Java SE 7 New Features - a great session for anyone interested in the specific details of what is new in Java SE 7. Matt is teaching a one-day session on Developing Portable Java EE applications with the Enterprise JavaBeans 3.1 API and Java Persistence 2.0 API  EJB, and Mike is doing a one-day session on developing Rich Client applications with Java SE 7 using Java FX 2. I asked Matt and Mike to tell me what developers can expect from their sessions.

Matt: "My session will get you up to speed on everything you need to know to create portable Java EE 6 applications using EJB 3.1 and JPA 2. I am going to cover why everyone can benefit from using EJBs (and why developers should relearn them if they haven't looked at them for years). Students who attend my session will see JPA examples showcasing how to use relational databases in an enterprise applications without programming to JDBC and without writing SQL statements. EJB and JPA benefit from being paired together, so I will also show how transaction management is easier in a container. I encourage students to bring a laptop and code as they learn!"

Mike: "My session covers how to develop a rich client application using Java FX 2. Starting with the basic concepts of JavaFX, students will see how a JavaFX application is built from its layout, to its controls, to its data structures. In addition, more advanced controls like charts, smart tables, and transitions will be added to the application. Finally, a quick review of JavaFX concurrency and data binding is included. Blended with the core concepts the session will include some of the latest JavaFX technology. This includes using Scene Builder to create a JavaFX UI and connecting your XML UI definition to Java code.  In addition, packaging of the JavaFX application will be covered with some examples of the new native packaging features."

As I mentioned, my session covers the changes in the Java for SE 7, including the  language changes that were voted into Java SE 7 from Project Coin. I will also look at how you can take advantage if the the new I/O library (NIO.2) for writing applications that work with files, directories and file systems. We will also look at the changes in Asynchronous I/O that are a part of the changes in NIO/2. We will spend some time looking at the changes to the Java Virtual Machine as well, including support for dynamically typed languages (JSR-292). We will spend some time looking at the Java Concurrency enhancements (JSR-166), including the new Fork/Join framework. And we'll round out the day with a look at changes in Swing, XML and a number of smaller changes in the API's.

And, if these topics aren't grabbing your interest, take a look at the other 10 sessions that range from topics on architecture to how to pass the Oracle Certified Programmer I and II exams.

See you soon!

Monday Aug 13, 2012

Ten Time-Savers in NetBeans

[Read More]

Friday Jul 20, 2012

New and Updated Java Courses

The Java Curriculum team has developed several courses that are available through Oracle University.  The courses are available as instructor-led training (ILT), live virtual classrooms (LVC), and training on demand. Our titles include:

Java SE 7 Fundamentals - The Java SE 7 Fundamentals teaches students who have little or no programming experience about the Java programming language. The course teaches students the significance of object-oriented programming, the keywords and constructs of the Java programming language, and the steps required to create simple Java technology programs.">

Java SE 7 Programming - The second of two courses that cover the Java Standard Edition 7 (Java SE 7) Platform explores the core Application Programming Interfaces (API) developers use to design and develop object-oriented applications with Java.

Java SE7: Develop Rich Client Applications - The course takes students through the process of designing a rich client application in a case study approach – analysis and design, and development of the key components of the application using the rich set of JavaFX graphics and media API.

Java SE 7 New Features - This new features course delves into the major changes and enhancements in the Oracle Java SE 7 release. This course is meant for the Java professionals who are already proficient with developing Java programs using Java SE 6 or earlier Java SE platforms.

Java ME: Develop Applications for Mobile Phones - This course teaches students how to use Connected Device Limited Configuration (CDLC) and the Mobile, Interface Device Profile (MIDP), and the Lightweight User Interface Toolkit (LWUIT) to develop applications for smart phones. Students get to develop applications that access a mobile database, and leverage the Location and Payment APIs.

Several of our courses support the Java Certification programs, which you can search for on the Oracle University Certification pages

If you are interested in free Java training, we are posting new Java content on the Oracle Learning Library on a regular basis. If you want to stay current, subscribe to the OLL using the RSS feed.

Thursday Jul 19, 2012

New OBE on Java Performance Command Line Tools

Have you ever wanted to get information about a JVM that is already running? Find out things like what command line parameters were used to start the JVM? If so, check out this new OBE on the Oracle Learning Library:

Java SE 7: Reviewing JVM Performance Command Line Tools
OLL Entry | OBE

The tutorial covers jps, jstat, and the new jcmd command. Used together, these tools can make it easy to monitor running JVMs. Feel free to check it out at the links provided.

Monday Jul 09, 2012

Welcome to the Java Training Beat!

We are a group of dedicated training developers for Java, located in the US, India, and now Mexico. In this blog we will announce new training content and events that might be of interest to our readers.

In this first installment of the Java Training Beat, I would like to introduce three new Oracle By Example (OBE) modules I recently released and posted to the Oracle Online Learning Library.

Creating a Simple Java Message Service (JMS) Producer with NetBeans and GlassFish - covers how to create a simple text message producer with NetBeans 7 and GlassFish.

Creating Java Message Service (JMS) Resources in WebLogic Server 12c - covers how to create JMS resources using the console and WebLogic Server 12c. With this tutorial, you can replicate the results of the first tutorial in WebLogic.

Creating a Publish/Subscribe Model with Message-Driven Beans and GlassFish Server - covers how to create a publish/subscribe application using JMS. This tutorial includes a short case study that includes a JSF front-end application that sends a hotel reservation request object to the server as a MapMessage.

Hope you find these useful!  And do check out the Online Learning Library - we have a wide range of additional content posted and more being added every month!


Information relating to Java training development and events.


« July 2016