This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Hai, I like to know the major difference between the java.net and javax.net api in sdk1.4 . what are the applications of javax.net. i know java.net , is used for making simple tcp/ip servers and clients. is javax.net is used in creating servers and clients which allows xml processing. why has sun included this api in their new version thanks in advance regards Chandhrasekar Saravanan
I think that the major thing about javax.net is that it contains the SSL package for secure sockets. java.net only provides normal socket operation. And javax.net.* does not provide the same things that java.net provides. So one is not to take place of the other.
The primary difference is that javax packages have not been accepted into the main code base of java yet and are still considered 'eXperimental'. This is not to say they are Beta but that their inclusion as core packages is not confirmed. If you look back through the history of the java releases (1.1, 1.2, etc) at one stage the swing classes were all javax.swing rather than java.swing but these were then made part of the 'official' code base. Hence the main difference is not to do with the actual functions but where the support for the packages lies
The Eagle sneers at the Peacock<p>Systems Administrator<br />OrderWare Solutions Ltd<br /><a href="http://www.orderware.net" target="_blank" rel="nofollow">http://www.orderware.net</a>
Actually... javax packages are extension packages not experimental packages. Also, the Swing package is still referenced by javax.swing and there is no package called java.swing . From The Java Extensions FAQ: How will standard extensions be named? Standard extensions will have names in the javax.* namespace. Exceptions will be allowed on a case-by-case basis, as for example, when necessary because of open standards. However, just because a package name begins with javax does not guarantee that that package is an extension rather than a part of the core platform. The Swing packages have names beginning with javax indicating that they were non-core extensions prior to version 1.2 of the platform. They are part of the core 1.2 platform even though they are in the javax.* namespace.
In other words, javax indicates that when the package was first named, it was considered an optional extension, not part of the core. However its status might have changed later, and since Sun would prefer not to force people to change all their import statements to get code to work, they keep the original package name.