With 79 fixes and improvements Java 5 update 3 is available. Sun has a new release scheme, there will not be a 5.1, only updates frequent updates like this will be available until Java 6, Mustang.
With 79 fixes and improvements Java 5 update 3 is available. Sun has a new release scheme, there will not be a 5.1, only updates frequent updates like this will be available until Java 6, Mustang.
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4726365
Of course, this will be probably the hardest and last thing that gets done before Mustang is out.
I think the release of Mustang is the last chance that Sun has of having Swing ever being relevant on the desktop – it might be too late already, but I’ll wait to see what they come up with.
There isn’t much java on the desktop now. But I’m not sure it matters. It is used in web servers, and for jsp, and all sorts of business computing, but mostly on the server end.
I’m not sure Java will take off on the desktop, except maybe in the open source market, but that might depend on GCJ and gnu classpath more than anything else. With GCC 4 just out, and Fedora shipping a gcj running eclipse(I think) with FC4, it might start to matter soon. I guess we’ll just wait and see.
Much more isnteresting will be the MVM, a VM that can run several programs in it at once, so startup will be quick, and will scal emuch better
there is java on desktop, and with mustang, probably more will emerge.
check here..
http://java.sun.com/products/jfc/tsc/sightings/
http://www.oneclipse.com/Members/admin/news/swt-sightings
Mayve I should’ve said it isn’t ‘prevalent’ on the desktop. And I’m not sure it ever will be.
On windows if faces competition from C# and on OSS platforms, there’s Python/Ruby/Perl.
I, personally think that there are some design flaws with the language, that probably can’t be overcome, but you never know. I still think its better than C#(in my rather limited exposure), but its not a “cool” language.
I think its an ideaological problem, of this type: James Gosling didn’t design it as his dream language to use every day, but for other people to use. As opposed to Guido, Larry Wall or “Matz” with Python, Perl and Ruby respectively. Or even the people behind Haskell.
There are lots of Java desktop apps, just not in the consumer market. Tons of financial applications are written in Swing (for example), not to mention the many internal applications large organizations often write. I’ve also seen scientific Swing based apps and other such things. Even so, there are a few consumer desktop apps written in Java (though not many).
i have to say there may not be much java apps but azurues is one damn good java bit torrent client, probably one of the best!
Azureus is also the only application that can make my mouse pointer stutter. On Windows XP, that is one big feat. (On Linux though, it happens all the time, Java or not.)
oh i don’t think you’ve tried it with java 5 it runs perfectly well, oh and linux runs as smooth as a baby bum for me! guess u need to upgrade you computer to something we use in the 21st century!
Is Sun ever going to solve the max heap size issue?
Currently if you run out of heap the app just crashes (usually by throwing an OutOfMeoryException, sometimes it can’t allocate enough memory to even through the exception and it just goes down). Then you have to tweak the heap until the app quits crashing.
This behavior means Java is inherently unstable.
Microsoft’s CLR just allocates more heap as needed. Why can’t the JVM do this?
As I understand it, the logic used by Sun was to be conservative with the heap size to ensure that Java apps don’t overwhelm system resources.
I do agree with you though in general, that a more flexible approach should be employed.
If I want to get this where do I download it from? Is it even possible since Sun isn’t going to put it on Java.com? They should at least put a link on Java.com somewhere where people can download Update 3.
Note that there is a java CLI option -mx where you can specify the max size of the heap. So, suppose you don’t mind allocation of upto 1 GB memory for the heap. Then use “-mx1024M” in the CLI and you won’t get out of memory exception easily. This also prevents a runaway java app to allocate more than 1 GB memory.
So, Sun’s approach does not seem to be so bad. However, there are problems:
a) The -mx option is non-standard according to Sun.
b) The default max heap size if 64MB which is too little for many apps. The default should have been “no-limit”.
> On windows if faces competition from C# and on OSS platforms, there’s Python/Ruby/Perl.
I’m sorry, but Python/Ruby/Perl are too slow to be any real competition to Java. Python still uses reference counting to manage memory. I remeber I used to like the concept of reference counting when I was 13.
I, personally think that there are some design flaws with the language, that probably can’t be overcome, but you never know. I still think its better than C#(in my rather limited exposure), but its not a “cool” language.
I think these can problems *can* be overcome, however, alot of these problems relate back to the cludgy development suites on offer; compare the IDE’s provided by SUN/IBM/BEA to what Microsoft provide, even compare it to Xcode.
Sure, Microsofts IDE has a whole *NEW* set of problems introduced, by most developers, over all are happy with their VS.NET experience. Now, I”m not Microsoft fanboy, but the underlying fact is, the IDE will make or break a language as to whether it is accepted beyond being a mere piece of technical brilliance.
Python and Ruby can get away with having crap IDE’s because they’re simply, straight to the point and have limited features, however, once you get something as all encompassing and all inclusive such as Java, then there is a need to provide a much nicer layer of abstraction between the developer and the nitty gritty of the framework itself.
Java Creator is on the right path – now, only if they could extend that click-drop-apply-code logic to normal Java application development, then things would really improve.
Different JVMs handle this in different ways. JRockit, I believe, can grow “unbounded”. The -mx flag is implementation specific to Suns JVM, that’s why it’s “not standard”.
While an “unlimited” option might seem viable, you have to realize how quickly performance goes to hell when your JVM starts swapping to disk. The GC will just thrash the swap, and it’s almost better to just have the thing fail than endure GCing swapped memory.
It’s an annoyance, though, I agree, but I think it’s a minor annoyance. When we run out of heap, we’re running out for a reason, and it’s good to know what that is.
b) The default max heap size if 64MB which is too little for many apps. The default should have been “no-limit”.
Look at recent changes in 1.5:
http://java.sun.com/j2se/1.5.0/docs/guide/vm/server-class.html
http://java.sun.com/j2se/1.5.0/docs/guide/vm/gc-ergonomics.html
– on some hardware configurations you will have 1GB without any CLI options.
@Heap size guy…
Microsoft’s CLR may have the advantage to allocate heap space as needed, but it however has other issues. I participated in a project building a DSMS (Data Stream Management System) on which we had some 1600 clients (simple test clients) connected to when the CLR suddenly throws an “out of memory exception”. We were using just about 256 MB of RAM so we’re far from running out of memory. The problem is that the CLR has problems with a very fragmented heap from instantiating and deleting a lot of objects. And we had quite a fragmented heap with 1600 clients…we were aiming for far more…
@Download guy
try java.sun.com
I’m honestly curious, what is it that makes you feel Java is better than C#?
This is a request for information from harbinjer, not at all an attempt to start a discussion on the relative merits of each language. (Because I know Smalltalk toasts them all anyway.)
”
Note that there is a java CLI option -mx where you can specify the max size of the heap. So, suppose you don’t mind allocation of upto 1 GB memory for the heap. Then use “-mx1024M” in the CLI and you won’t get out of memory exception easily. This also prevents a runaway java app to allocate more than 1 GB memory. “
Java CLI? what’s that?
@Slava:
python hasn’t been using reference counting for a few years now. Check your facts.