NetBeans 6 delivers great updates to the Matisse GUI builder. Spend a few minutes with Roman Strobl and get an expert briefing on what's new and what has changed. (sponsored)
In this, the third and final installation of Andres' Introduction to Groovy series, you learn about how Groovy handles variable numbers of arguments, named parameters, currying, and more about Groovy operators. Including, some new operators.
Swing Fuse (actually just Fuse), is a framework designed to make it easier to create your own custom desktop components. In this article, Daniel Spiewak shows you how to get started and provides sample source code you can download.
Willam Louth shows how he uses JXInsight Probes to investigate probable performance issues with code bases that he is not familiar with. He also highlights possible pitfalls in creating a benchmark, as well as in the analysis of results.
Are you looking to upgrade to Java SE 6 Platform? Have you taken a look at the top 10 highlights of this platform? If not, plan on buying the book "Beginning Java SE 6 Platform: From Novice to Professional" which will be released in a couple of days by Apress. Also, take a look at Sun?s web site here for the top 10 highloghts.
http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/beta2.html
Beginning Java SE 6 Platform: From Novice to Professional
is written by
Jeff Friesen
and is published by
Apress
. Javalobby had the opportunity to talk to Jeff on his upcoming book, and ask him a few questions about the important features of Java SE 6.
Q: Hi Jeff, tell us a bit about yourself, and your work?
I have a Bachelor of Science degree in computer science and mathematics. Over the years, I've worked as a software developer for various companies, ranging from telecommunications to finance, to a healthcare consulting firm affiliated with EDS. A few years back, I started freelancing my software development and teaching skills. Although my work involves many technologies, which include Java, Perl, MySQL, C++, and C#, my specialization in Java has resulted in people referring to me as JavaJeff.
Q: Is this your first book?
"Beginning Java SE 6 Platform: From Novice to Professional" is not my first book. In 2001, I wrote "Java 2 By Example, Second Edition" for Que Publishing. This earlier book (slightly more than 800 pages in length) explored language features (inner classes, interfaces, statements, and so on) and a few of Java's fundamental classes (String, FileReader, Package, Thread, and so on).
Q: Tell us about your experience while writing this book on Java SE 6?
I almost didn't write this book. Shortly after JavaWorld published my "Start saddling up for Mustang" article in January 2006, I was contacted by Apress and offered a chance to write "Beginning Java SE 6 Platform: From Novice to Professional." I turned down this opportunity because of other commitments. However, I received another opportunity to write the book in early 2007. This time, I decided to go for it.
Before writing the first page, I had to decide on the book's focus and create a table of contents. I chose to focus the book on what makes Java stand apart from its predecessors. I chose not to revisit threads, generics, and other pre-Java SE 6 topics to spare accomplished Java developers from wading through material that they already know, to keep the book to a manageable length, and to invest my writing time in providing better coverage of Java SE 6 topics. The table of contents was derived from material presented in the technology changes table on Sun's "Java SE 6 Release Notes: Features and Enhancements" page (http://java.sun.com/javase/6/webnotes/features.html).
Writing this book has been an incredible learning experience for me. In addition to discovering a wide variety of Java SE 6 topics, I discovered the importance of creating Swing GUIs on the event-dispatching thread -- I thank John Zukowski and Sun's Java Tutorial for pointing this out to me. I also discovered closures, the Swing Application Framework (which creates the GUI on the event-dispatching thread), and other Java SE 7 topics -- I thank Neal Gafter for reviewing my closure-related code.
Q: How is this book different from "Java 6 Platform Revealed" from the same publisher?
"Beginning Java SE 6 Platform: From Novice to Professional" differs from "Java 6 Platform Revealed" in many ways, including the following items:
1) I based my book on the official December 11, 2006 (build 105) release of Java SE 6, whereas "Java SE 6 Platform Revealed" reflects an earlier version of this software.
2) I ended up writing about 500 pages. In contrast, "Java 6 Platform Revealed" is about 200 pages long.
3) My book includes an appendix that introduces features likely to be included in Java SE 7.
4) My book includes a "Test Your Understanding" section at the end of each chapter. This section provides questions and exercises to help readers reinforce their understanding of the chapter's content. One of the appendixes provides the answers and solutions.
5) Instead of providing a chapter on pluggable annotations processing, which is the case with "Java 6 Platform Revealed," I divided this content among two appendixes that focus on new annotations types, and new and improved tools.
All of the 10 top things have been covered. However, some items (such as scripting) are covered much more extensively than other items (such as security -- only a few security topics are covered).
Q: As per Sun, anyone who has an existing Java application will benefit immediately from the performance, reliability, and UI improvements in Java SE 6. Do I get all these benefits just by using Java SE 6; I don't need any code change?
I can definitely say that you do not need to change your code to benefit from out-of-box virtual machine performance, single-threaded rendering, a more reliable platform, and LCD text:
1) The client and server HotSpot virtual machines have been optimally configured to achieve the best possible performance for their environments. As a result, you do not need to tune virtual machine parameters to achieve optimal performance. Check out David Dagastine's "Java 6 Leads out of the Box Server Performance" (http://blogs.sun.com/dagastine/entry/java_6_leads_out_of) for more information.
2) The OpenGL pipeline (which is enabled via the -Dsun.java2d.opengl=True virtual machine option) automatically uses single-threaded rendering (STR) to speed up Java 2D drawing operations (such as drawLine() and fillRect()). Check out Chris Campbell's "STR-Crazy: Improving the OpenGL-based Java 2D Pipeline" (http://weblogs.java.net/blog/campbell/archive/2005/03/strcrazy_improv_1.html) and "STR-Crazier: Performance Improvements in Mustang" (http://weblogs.java.net/blog/campbell/archive/2005/07/strcrazier_perf.html) blog entries for more information on STR.
3) The many bug fixes in Java SE 6 have led to a much more reliable Java platform. Of course, even more bugs have been fixed in the first and second Java SE 6 updates.
4) According to Chet Haase's "LCD Text: Anti-Aliasing on the Fringe" article (http://today.java.net/pub/a/today/2005/07/26/lcdtext.html), LCD text refers to anti-aliased text that utilizes LCD display properties to render smoother looking text, which is easier to read. This feature has been enabled in Swing's native and cross-platform looks and feels.
Q: Are there any tips you can provide us to improve performance of our existing Java applications other than using Java SE 6?
I recommend reading Steve Wilson's and Jeff Kesselman's book "Java Platform Performance: Strategies and Tactics" (ISBN 0-201-
70969-4). You will learn alot about improving application performance. Being published in 2000, this mainly version-agnostic book definitely pre-dates Java SE 6.
Q: If a developer comes to you and says he is getting "Out Of Memory Error", how will you help him troubleshoot this error?
I would suggest launching the application via the -XX:+HeapDumpOnOutOfMemoryError virtual machine option. This option results in a heap dump being generated when an OutOfMemoryError is thrown. I would also suggest using jhat (the heap analysis tool) to parse the generated heap dump and launch a web server. Using a browser, we would analyze the heap to find out what led up to the memory exhaustion.
Q: Any suggestions to our readers who are still using JDK 1.4.2 version (I guess many are) and want to switch to the latest version?
Go for it. If you are worried about risking your investment in existing Java code, keep in mind that alot of work has gone into making Java SE 6 compatible with previous code (the vast majority of code compiled with previous Java versions will run on a Java SE 6 platform without changes) and stable (thanks to the many bug fixes in this release). In fact, compatibility and stability are so important to Java SE 6 that (collectively) they are one of the themes of this release.
Q: When can we get the print edition?
The print edition should be available by October 31. You can visit Amazon.com to pre-order a copy.
-------
The Javalobby Editorial team would like to thank Jeff Friesen for his time.
If you have any questions for Jeff, if you want to know what?s coming in Java SE 7.0, or would like to know more about SE 6.0, post your questions here and Jeff will try to answer them for you!
Coming Soon - Beginning Java SE 6 Platform: From Novice to Professional
At 9:12 AM on Oct 17, 2007, Meera Subbarao wrote:
Fresh Jobs for Developers Post a job opportunity
http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/beta2.html
Beginning Java SE 6 Platform: From Novice to Professional is written by Jeff Friesen and is published by Apress . Javalobby had the opportunity to talk to Jeff on his upcoming book, and ask him a few questions about the important features of Java SE 6.
You can get the complete details of the book at Apress web site here:
http://www.apress.com/book/view/159059830X
Q: Hi Jeff, tell us a bit about yourself, and your work?
I have a Bachelor of Science degree in computer science and mathematics. Over the years, I've worked as a software developer for various companies, ranging from telecommunications to finance, to a healthcare consulting firm affiliated with EDS. A few years back, I started freelancing my software development and teaching skills. Although my work involves many technologies, which include Java, Perl, MySQL, C++, and C#, my specialization in Java has resulted in people referring to me as JavaJeff.
Q: Is this your first book?
"Beginning Java SE 6 Platform: From Novice to Professional" is not my first book. In 2001, I wrote "Java 2 By Example, Second Edition" for Que Publishing. This earlier book (slightly more than 800 pages in length) explored language features (inner classes, interfaces, statements, and so on) and a few of Java's fundamental classes (String, FileReader, Package, Thread, and so on).
Q: Tell us about your experience while writing this book on Java SE 6?
I almost didn't write this book. Shortly after JavaWorld published my "Start saddling up for Mustang" article in January 2006, I was contacted by Apress and offered a chance to write "Beginning Java SE 6 Platform: From Novice to Professional." I turned down this opportunity because of other commitments. However, I received another opportunity to write the book in early 2007. This time, I decided to go for it.
Before writing the first page, I had to decide on the book's focus and create a table of contents. I chose to focus the book on what makes Java stand apart from its predecessors. I chose not to revisit threads, generics, and other pre-Java SE 6 topics to spare accomplished Java developers from wading through material that they already know, to keep the book to a manageable length, and to invest my writing time in providing better coverage of Java SE 6 topics. The table of contents was derived from material presented in the technology changes table on Sun's "Java SE 6 Release Notes: Features and Enhancements" page (http://java.sun.com/javase/6/webnotes/features.html).
Writing this book has been an incredible learning experience for me. In addition to discovering a wide variety of Java SE 6 topics, I discovered the importance of creating Swing GUIs on the event-dispatching thread -- I thank John Zukowski and Sun's Java Tutorial for pointing this out to me. I also discovered closures, the Swing Application Framework (which creates the GUI on the event-dispatching thread), and other Java SE 7 topics -- I thank Neal Gafter for reviewing my closure-related code.
Q: How is this book different from "Java 6 Platform Revealed" from the same publisher?
"Beginning Java SE 6 Platform: From Novice to Professional" differs from "Java 6 Platform Revealed" in many ways, including the following items:
1) I based my book on the official December 11, 2006 (build 105) release of Java SE 6, whereas "Java SE 6 Platform Revealed" reflects an earlier version of this software.
2) I ended up writing about 500 pages. In contrast, "Java 6 Platform Revealed" is about 200 pages long.
3) My book includes an appendix that introduces features likely to be included in Java SE 7.
4) My book includes a "Test Your Understanding" section at the end of each chapter. This section provides questions and exercises to help readers reinforce their understanding of the chapter's content. One of the appendixes provides the answers and solutions.
5) Instead of providing a chapter on pluggable annotations processing, which is the case with "Java 6 Platform Revealed," I divided this content among two appendixes that focus on new annotations types, and new and improved tools.
Q: On Sun's web site, there are 10 top things you need to know in SE 6, have you covered all these in your book? Here is the link for the same: http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/beta2.html
All of the 10 top things have been covered. However, some items (such as scripting) are covered much more extensively than other items (such as security -- only a few security topics are covered).
Q: As per Sun, anyone who has an existing Java application will benefit immediately from the performance, reliability, and UI improvements in Java SE 6. Do I get all these benefits just by using Java SE 6; I don't need any code change?
I can definitely say that you do not need to change your code to benefit from out-of-box virtual machine performance, single-threaded rendering, a more reliable platform, and LCD text:
1) The client and server HotSpot virtual machines have been optimally configured to achieve the best possible performance for their environments. As a result, you do not need to tune virtual machine parameters to achieve optimal performance. Check out David Dagastine's "Java 6 Leads out of the Box Server Performance" (http://blogs.sun.com/dagastine/entry/java_6_leads_out_of) for more information.
2) The OpenGL pipeline (which is enabled via the -Dsun.java2d.opengl=True virtual machine option) automatically uses single-threaded rendering (STR) to speed up Java 2D drawing operations (such as drawLine() and fillRect()). Check out Chris Campbell's "STR-Crazy: Improving the OpenGL-based Java 2D Pipeline" (http://weblogs.java.net/blog/campbell/archive/2005/03/strcrazy_improv_1.html) and "STR-Crazier: Performance Improvements in Mustang" (http://weblogs.java.net/blog/campbell/archive/2005/07/strcrazier_perf.html) blog entries for more information on STR.
3) The many bug fixes in Java SE 6 have led to a much more reliable Java platform. Of course, even more bugs have been fixed in the first and second Java SE 6 updates.
4) According to Chet Haase's "LCD Text: Anti-Aliasing on the Fringe" article (http://today.java.net/pub/a/today/2005/07/26/lcdtext.html), LCD text refers to anti-aliased text that utilizes LCD display properties to render smoother looking text, which is easier to read. This feature has been enabled in Swing's native and cross-platform looks and feels.
Q: Are there any tips you can provide us to improve performance of our existing Java applications other than using Java SE 6?
I recommend reading Steve Wilson's and Jeff Kesselman's book "Java Platform Performance: Strategies and Tactics" (ISBN 0-201-
70969-4). You will learn alot about improving application performance. Being published in 2000, this mainly version-agnostic book definitely pre-dates Java SE 6.
Q: If a developer comes to you and says he is getting "Out Of Memory Error", how will you help him troubleshoot this error?
I would suggest launching the application via the -XX:+HeapDumpOnOutOfMemoryError virtual machine option. This option results in a heap dump being generated when an OutOfMemoryError is thrown. I would also suggest using jhat (the heap analysis tool) to parse the generated heap dump and launch a web server. Using a browser, we would analyze the heap to find out what led up to the memory exhaustion.
Q: Any suggestions to our readers who are still using JDK 1.4.2 version (I guess many are) and want to switch to the latest version?
Go for it. If you are worried about risking your investment in existing Java code, keep in mind that alot of work has gone into making Java SE 6 compatible with previous code (the vast majority of code compiled with previous Java versions will run on a Java SE 6 platform without changes) and stable (thanks to the many bug fixes in this release). In fact, compatibility and stability are so important to Java SE 6 that (collectively) they are one of the themes of this release.
Q: When can we get the print edition?
The print edition should be available by October 31. You can visit Amazon.com to pre-order a copy.
-------
The Javalobby Editorial team would like to thank Jeff Friesen for his time.
If you have any questions for Jeff, if you want to know what?s coming in Java SE 7.0, or would like to know more about SE 6.0, post your questions here and Jeff will try to answer them for you!
0 replies so far (
Post your own)