分享
 
 
 

Five Reasons to Move to the J2SE 5 Platform

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

By Calvin Austin, January 4, 2005

E-mail

Print-friendly Version

Download

--

This article provides five important reasons to move to the Java 2 Platform, Standard Edition (J2SE platform) 5.0. Each reason is supported by data and references to prove that the 5.0 release will reduce development and runtime costs.

J2SE 5.0 (codenamed Project Tiger) was released at the end of September 2004. It is one of the most significant updates to the Java platform in many years. The Java community has eagerly welcomed its new features, yet these new features are not what makes the release special. What does? The platform was subjected to a higher level of testing than any previous version, to prepare it for mission-critical production.

Given the wealth of improvements in J2SE 5.0, choosing the top five reasons for this article was a tough task. My choices follow.

#1: Your application already works on 5.0

"To ensure this high level of backward compatibility, the number of compatibility tests was doubled..."

Calvin Austin

Sun Microsystems

You don't need to redesign or recompile your application to take advantage of J2SE 5.0. Not only is your investment in existing applications protected but you actually benefit from running your application on a newer Java runtime.

To ensure this high level of backward compatibility, the number of compatibility tests was doubled from 1.4. These compatibility tests are part of a Java test suite that contains nearly 200,000 tests and includes testing many well-known Java applications.

So your application runs unmodified. What does J2SE 5.0 offer then?

Improved Performance

The performance of both client and server applications have been significantly improved in J2SE 5.0. As the improvement in performance has been so impressive, I've made it Reason #2. More on this in the following section of this article.

Monitoring and Manageability

J2SE 5.0 brings an advanced monitoring and manageability framework built into the Virtual Machine for the Java platform (Java Virtual Machine or JVM). [Note: The terms Java Virtual Machine and JVM mean a Virtual Machine for the Java platform.] You can use your existing management consoles with industry-standard JMX and SNMP protocols to monitor a JVM and even detect low memory conditions. The JDK release provides a demo, called JConsole. It lets you evaluate the benefits in monitoring the JVM and see how you can exceed your availability metrics.

New Look and Feel

The Java platform already contains a pluggable Look-and-Feel framework. The addition of the new Ocean Look-and-Feel enables cross-platform applications to switch between Ocean or the native operating system's look-and-feel, without the need to rebuild or recompile them.

#2: It is faster

A number of factors play into J2SE 5.0's improved speed, illustrated in the following figure.

Reduced startup time

If you haven't started a desktop Java application in the last few years, you may be in for a pleasant surprise. The introduction of class data sharing (in combination with other streamlining options) has shaved nearly 30 percent off the startup time for some applications.

Great 64–bit performance

The J2SE 5.0 64-bit JVM delivered record results with the AMD64/Opteron CPU and Suse Linux Enterprise Edition 8.0 SLES 8.0. In addition, the 32-bit version of the JRE can run side by side under the same 64-bit OS for use with existing 32-bit web browsers.

Performance ergonomics

The JVM is now self-configuring and self-tuning on server-class machines. A server-class machine is a machine with two or more CPUs and at least 2 GB of memory. The server-based performance ergonomics kicks in by rightsizing both the memory required and the class of optimizations needed for longer lived applications. This has resulted in an 80 percent improvement on one application server benchmark without changing a line of code or supplying any runtime options!

#3: Reduced development time

Integrated development environments (IDEs) have tried to make developers' lives a little easier with auto-completion and wizards for common tasks. J2SE 5.0's new language features further streamline development, whether you use an IDE or handcode in a text editor.

Reduced need for developer coding

Many of the Java language changes reduce the amount of code a developer has to write. The following figure quantifies that reduction, in comparison to J2SE 1.4.2. To take a real life example, one open source application server uses over over 2,000 Iterators. By substituting the new enhanced for loop, the code would be reduced by up to 40,000 characters. To a developer, that is a saving of at least two hours of solid coding (5 characters a second).

Figure 2: Reduced Coding Effort (Fewer Lines of Code).

The addition of metadata into the platform provides the greatest scope for reduced development time through the use of tools that can generate boilerplate code and configuration information. In the case of SOA and web services, as defined in JSR 181, developers should expect to see over a 50 percent reduction in code by auto-generating common code. [Note: The preceding figure shows a metadata JAX-RPC example from 209 to 95 characters, Enhanced for loop using generics 139 to 100 characters, non-generic enhanced for loop for each 121 to 90, to/from autoboxing 69 to 56 characters.

Metadata will reduce the amount of effort required for deployment descriptors. One proposal for EJB 3.0 removes the need for any deployment descriptors by default by generating the configuration information from the application itself.

Improved Error Checking Savings

A google search using the terms "ClassCastException" and "help" generated nearly 40,000 hits. A more focused search on the [/url]Sun forums reported 3,444 cases of developers asking for help to track down unexplained runtime failures due to class cast exception issues.

Out of those 3,444 cases, over 470 involved the pre-generics vector class. In terms of return on investment, any runtime error can cost on order of 10 percent of a company's website revenue at peak periods (300m GBP on revenue of 3Billion GBP). That doesn't even begin to factor in the additional cost to personnel and goodwill.

The introduction of compile-time typesafe generic types to the Java platform reduces the risk of runtime errors by alerting developers at development time if there is a type-matching problem. In the case of the 470 forum postings, the Vector and other key libraries in the JDK have been updated to use generics in J2SE 5.0 and will prevent a repeat of those unexplained runtime issues.

#4: Ready for Mission-Critical Systems

The 5.0 release offers enhanced scalability, quality, and deployment support.

Scalability

The Java platform was designed with scalability for both client and server machines. The 5.0 release introduces a powerful concurrency library that makes multi-threaded programming even easier and more powerful than before. The Java platform also provides support for both 64-bit and also multi-core and hyper-threaded chip technologies. The 64-bit JVM allows applications to use more than 4 GB of heap space and to integrate with other 64-bit applications. (reference 8)

Quality

The J2SE 5.0 platforms has completed a comprehensive set of burn-in tests on a large set of systems and OS variants. The tests involved many popular application servers and client applications. The last metric taken—the Mean Time To Failure stress test—ran to completion without any failures.

Deployment

Prior to J2SE 5.0, it wasn't easy to determine the utilization or transaction throughput of a production JVM. The new profiling tools and self-tuning features provide better production right-sizing information and configuration. These features reduce the scope for surprises when the application goes live.

To complete the deployment picture, as highlighted previously in reason number 1, the JVM can now be fully monitored remotely using industry-standard tools. This enables system administrators to successfully manage JVMs either in a cluster or in a traditional vertical scaling environment. Both the health and utilization of your deployed applications can be monitored.

To cap off the four technical reasons for upgrading, there is one final, important reason to move to 5.0.

#5: You Are in Good Company

Books based on J2SE 5.0

- Java 5.0 Tiger: A Developer's Notebook. David Flanagan, Brett McLaughlin. O'Reilly & Associates, 2004.

- Java 2 v5.0 (Tiger) New Features. Herbert Schildt. McGraw-Hill Osborne Media, 2004.

- Beginning Java 2, JDK 5 Edition. Ivor Horton. Wiley, 2004.

- Core Java 2, Volume I, II (7th Ed.). Cay Horstmann, Gary Cornell. Pearson Prentice Hall, 2005.

- Just Java 2 (6th Ed.). Peter van der Linden. Prentice Hall, 2004.

- An Introduction to Programming and Object-Oriented Design Using Java 2, 2nd Ed. Jaime Niño, Frederick A. Hosch. Wiley 2005

- The Java Class Libraries Poster : Java 2 Platform Standard Edition 5.0 (8th Ed.). Patrick Chan, Rosanna Lee. Addison-Wesley Professional, 2005.

- Objects, Abstraction, Data Structures and Design Using Java Version 5.0. Elliot Koffman, Paul Wolfgang. Wiley, 2004.

The Java Community stands behind the improvements in J2SE 5.0. The J2SE 5.0 expert group comprised the following who's who of the Java industry: Apache, Apple, BEA Systems, Borland, Cisco Systems, Fujitsu, Hewlett-Packard, IBM, Macromedia, Nokia, Oracle, SAP, SAS Institute, SavaJe Technologies, Sun Microsystems, John Zukowski, Osvaldo Doederlein, and Juergen Kreileder.

There were 16 working groups, composed of well-known experts in the Java field. They formed a worldwide group of 160 experts collaborating on the J2SE 5.0 Java Specifications. The specifications covered everything from language updates to concurrency libraries to a class file-compression API. For more technical details, see [url=http://dev.csdn.net/]J2SE 5.0 in a Nutshell. And the growing number of books in the sidebar on this page.

In addition to the Java expert input, the community at large has taken notice. There have been over one million downloads to date!

Summary

This article listed my top five reasons for moving to the Java 2 Platform, Standard Edition (J2SE platform) 5.0. (The article does not cover the full range of client- or server-side features.) Everything about the platform—from the specifications to the source code, which is licensed under the SCSL and Java Research Library—is available so that you can make your own decision. Contact us through our community forums to let us know what you like about the release.

See Also

The following tools and applications take advantage of the J2SE 5.0 enhancements, to make developers more productive:

- New J2SE 5.0 Enhanced tools and applications

- Java System Application Server 9

- NetBeans 4.0

- Eclipse 3.x

- Borland JBuilder 2005 - Wily Introscope

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有