To view parent comment, click here.
To read all comments associated with this story, please click here.
On a low memory machine (under 256 MB) I would probably hesitate to use a java GUI application, but not a cli one.
I'd be curious if that's limited to Swing or if it includes SWT as well? It appears to me that SWT applications eat about 20MB minimally (rought estimate, probably varies quite a bit on different platforms) which is actually fairly competitive with C# application sizes.
I would tend to limit use of a java based GUI in 256 MB of RAM regardless of whether it used SWT, Swing, or AWT. While SWT might be a little better on memory consumption I do not find the difference between the three that significant. I would put c# (except CF) in the same boat.
I like Java and use it quite a bit, but memory constrained environments are not the forte of desktop Java.




Member since:
2005-07-06
It is a debate as to whether the memory requirements and cpu utilization is worth it. I can understand these objections to a degree, though I feel that Java is viable on the desktop. But I do object to your characterization of Java's memory usage. Java memory usage is higher than a C application, but not THAT high.
Let's take some examples of fairly heavy apps:
1) Eclipse with the following plugins WTP, TPTP, MYLAR, LDAP, Quantum DB, Subversive SVN, SpringIDE, CDT, and AspectJ. I do not know the exact size of the projects but I have the entirety of JXTA in my current workspace and I assure you that is a significant amount of code. Memory usage: 126MB. (With a lot of editors and extended use it sometimes grows to about 200-250 MB, but 126 MB is my usage right now as I am winding down my day.)
2) JBoss 4.05 running 4 moderate sized applications: 148MB
3) Netbeans: only the SVN plugin and 3 smallish projects (~15K lines of code): 178 MB
And a lighter app:
4) jxplorer: A fairly simple LDAP GUI: 33 MB
With the exception of jxplorer none of these apps are what could be termed "light weight" but only one exceeded what you termed the least amount of RAM that a Java app uses. That is blind dismissal of the platform for reasons that just plain are not valid.
The machines I use are fairly powerful (1.6 GHz CoreDuo Laptop, a 1.4 GHz Pentium D, and an E6400 Core2Duo desktop) but I do not have much problems with startup time. The only application that I note taking a long time to load is Amarok. (likely due to my use of XFCE4 instead of KDE.)
I grant that I do not use Java too much on the "Desktop" except for Eclipse. This is simply because the Java applications have not been the ones that filled my needs. On a low memory machine (under 256 MB) I would probably hesitate to use a java GUI application, but not a cli one.