What's new in Java 7 SE
By Brian Ewoldt
So you've heard all the puns about the Java programming language and coffee. But do you really know Java? Did you know it was first developed by Sun Microsystems for handheld devices and interactive television in the early 90's and it was called Oak? In 1995, the name was changed to Java to reflect its new use for internet applications.
The name was chosen to due to the large amounts of coffee consumed by its creator, James Gosling. (Java is also a name of an island of Indonesia-a place I wouldn't mind being about now since the Minnesota temperatures of late have been well below zero.) Today Java is used by internet developers around the world. It is a "free and open source software" (FOSS), thus its popularity. Java shares many traits with the C/C++ programming languages, so if you are familiar with C/C++, you will understand the Java syntax. Java is still used to develop applications on mobile devices as well on the new smart televisions on the market today. We recently released two courses for Java 7 SE covering what's new in this latest version.
Java 7 SE: Enhancements and Concurrency In this course you'll get a whirlwind overview of the new packages and frameworks, features, JVM enhancements, and Java language updates that are part of Java SE 7. You'll spend some time on those language enhancements, small changes that make a big difference in your code. You'll also learn about the concurrency utilities provided by Java SE 7, including the brand new Fork Join framework, which supports parallel processing, by taking full advantage of the multiple processors on most modern systems. You'll explore the new ThreadLocalRandom class, which generates random numbers in multi-threaded applications without the concurrency issues seen in Java SE 6. Then you will learn about the new Phaser synchronization mechanism which is used to ensure threads march in step together, from one phase of the application to the next.
Java 7 SE: IO, New IO and Network Protocols The Java SE 7 platform gives you a brand new file based I/O architecture, NIO2. This new architecture solves most of the problems we saw in the original stream based I/O. In this course you'll learn how the NIO2 Path class is used to represent the underlying file system syntax in a manner that is transparent to the application. Next you'll see how the NIO2 Files class works with the Path class. You'll take a look at the new NIO2 asynchronous channels which let you monitor and control the completion of your asynchronous events.
NIO2 also gives you a new asynchronousChannelGroup to group these channels, and supply them with a pool of threads for resource sharing. You'll take a look at the new WatchService file change notification API, which lets you register to be notified when files or directories change on the file system. After your tour of NIO2, you'll move to the new networking features provided by Java SE 7. You'll experiment with the URLClassLoader, which now implements the Closable I/F and its close() method.
Then you'll learn about the new protocols you can now access. One is the Stream Control Transmission Protocol, or SCTP, and another new protocol is Sockets Direct Protocol, or SDP. These courses are presented by our newest instructor, Brigitte Birze. Brigitte is a seasoned software development professional with over 25 years of experience in Corporate IT and Engineering across many verticals. Brigitte has been involved in every phase of the software development lifecycle from the perspective of several roles: individual contributor, team lead, S/W architect, system engineer, proposal author, and project manager.
Her innovative software architectures have resulted in six published papers and eight patents. Brigitte's dynamic communication skills, paired with her depth and breadth of technical knowledge, give her the unique ability to make the complex understandable, and to convey technical concepts to cross-functional groups, speaking at the business or technical level. I invite you to check out these new Java 7 SE courses, and watch for more courses and a webinar to be presented by Brigitte in the near future.
Brian Ewoldt is the Project Manager for LearnNowOnline. Brian joined the team in 2008 after 13 years of working for the computer gaming industry as a producer/project manager. Brian is responsible for all production of courses published by LearnNowOnline. In his spare time, Brian enjoys being with his family, watching many forms of racing, racing online, and racing Go-Karts.