Java 1.4 is HUGE!

Just installed the 1.4 beta 2, and the JRE part of it is HUGE at some 38MB! In compressed form it is some massive 18MB! It is now an operating system!
I think we have a new "Hello World" record here. What does this mean, do I need to distribute my software on a CD from now on? That is impossible for me!
Sun, please explain how we are supposed to deploy our software through the Internet now. Do you know that most people still have modem or at the max ISDN? This means it would take around an hour to download only the basic runtime environment!
And further, most people in the world pay for the time they are online. No way they want to download my software this way, unless it is something totally amazing which they wont know until they download it anyways, but they surely wont! And yes, Internet distribution is the only way that works for me and everyone else I know!
Did I miss something here? I suppose they have debug info in the jar file that can be removed (I really hope so), but still? 18MB?? Even 10MB would be a total overkill! They surely cannot expect us to bundle this kind of huge JRE with our code? Can they? Are they totally insane?

Who cares? In the Java world money is to be
made on the server side, in enterprise
software, where millions of dollars are spent and
hosts of consultants are there to deploy the software
on the clients' sites. Nobody in that world cares if a
JDK is 10 Mb or 100Mb.
If you wrote a dinky little applet for another chat
room implementation maybe you should realise that this
is not all the direction that Java in going in. Go
back to [D]HTML/Javascript. Java is not for the client
side.
Vlad.Vlad: I understand what you are saying. Keep in mind, I am with you on server side.
But it is pretty ignorant to say java ONLY makes money on the server side. More ignorant is to relate "enterprise"
to server side apps. Just because J2EE has term "enterprise" in it and you can write server side code using EJB/Servlet/JSP doesn't mean that's where one should stop thinking.
Last ignorance is: Applets are the limit of Java on desktop. You wrote a little applet and that's it. Fine. So that's all you think everyone should do? Stop after writing "a dinky little chat application"
Coming back to enterprise topic.
Who says enterprises do NOT
need desktop applications.
Billions of dollars are to be made on the desktop front as well. Just because you got all your desktop tools with a free linux distribution does not mean that everybody will do the same, in particular, enterprises. Windows users, just because all the desktop apps you need came from that windows CD you copied from work doesn not mean someone didn't pay for it. Ok, what developers need could be free/open source/pirated.
But an enterprise needs business applications. They need some kind of editor, some presentation program, some number crunching program (SAS products for the web? charts on the web? sure. they are possible, tell it to a big corporation to switch 20,000 employees/auditors from their quick response desktop app to a web based app), some graphics program (don't tell me you are going to create Photoshop with an HTML front end so it can run on the server side). etc.
Now let me tell you where you can make money. Write a Lotus Notes like app in Java. Lotus makes millions and millions from that "not so dinky" desktop app. Write a software like SAS prodcuts in Java. Millions there as well. There already are office suites in Java. People did write those apps. Even Java programmers are switching from using Rational Rose to TogetherJ which is a desktop Java app.
In any case, Sun spends a lot of money on Swing. There is a reason. And people can write good desktop apps if they know how to. Problem posed by the original poster is that JRE is bloated, it is a legitimate complaint because most of the world has only written "dinky" things and they cannnot understand why they need 18 MB of runtime in their distribution.
Swing is still visibly slower than native GUIs, unless code tweaked/optimized. All complaints are legit.
But:
I think that desktop applications are equally required by enterprises {unquote}.

Similar Messages

  • Java Mapping with a huge file

    Hi to all,
    I have a strange problem in my integration process.
    there are two java mappings in order to create bapi input:
    -the first mapping keeps a file of 5Mb and transforms it in a file of 50MB (and it works!)
    -the second mapping keeps the file above and has to create another file of 50Mb.
    And this second mapping doesn't work on the customer system, while everything is ok on my developing system.
    On customer system I don't have any error message: SXMB_MONI gives me a "clock" and the message says: mapping in process..... It remains in this status "forever"!!!
    Why does it work on my system with same code and same file and it doesn't on customer's?
    There is any system parameter that I can check to see if there is some difference in system configuration?
    Thank for the help!
    bye,
    Antonio

    Hi Antonio,
    ...seems to be a hardware problem (sizing).
    I would write some logging in my java to see how far it comes.
    Regards Mario

  • Java browser plugin failure

    Heya!
    I bashed and crashed away trying to get the javaplugin working for Moz last night but to no avail. This is the error when launched from the terminal:
    LoadPlugin: failed to initialize shared library /opt/mozilla/plugins/java2/plugin/i386/ns600/libjavaplugin_oji.so [libstdc++-libc6.1-1.so.2: cannot open shared object file: No such file or directory]
    Easy enough I thought lets just try making a symlink like so:
    ln -s /usr/lib/libstdc++.so.5.0.0 /usr/lib/libstdc++-libc6.1-1.so.2
    Still didn't work it produced this output:
    LoadPlugin: failed to initialize shared library /opt/mozilla/plugins/java2/plugin/i386/ns600/libjavaplugin_oji.so [/opt/mozilla/plugins/java2/plugin/i386/ns600/libjavaplugin_oji.so: undefined symbol: __rtti_si]
    LoadPlugin: failed to initialize shared library /opt/mozilla/plugins/java2/plugin/i386/ns600/libjavaplugin_oji.so [/opt/mozilla/plugins/java2/plugin/i386/ns600/libjavaplugin_oji.so: undefined symbol: __rtti_si]
    I am using the GCC3 tree if that is any help.
    Java is not a huge concern but it would be a bonus to have it. I only need it for my browser.
    Thanks in advance.

    sarah31 wrote:
    Thu Sep 26, 2002 11:45 pm
    i think that was just a fraction longer than four months:P
    (remember the year is part of the date dp )
    you're right, in fact it's 16months ... and i definitely like your kind of humor

  • Photoshop CS6 and Java. Why?

    After the reality of how Java is a big huge security risk, is old technology, and after Apple dropped it from the default install of Lion—and after it sounded like Adobe removed the dependency of requiring Java Runtime, why or why is my fresh install of Photoshop CS6 requiring Java?
    Why? What does PS need this for?
    Is there any way to install without Java? Any thoughts?
    I'm running a fresh install of Lion on a MBP. Installed Design premium CS6 as a digital download.

    Ah, good to know. Yes, I'm on running the latest version of Lion.
    So from Adobe's perspective, do you download Java, then can you remove it if it's not necessary for CS6? If so, would you know what Java file to look for to remove? (I know Lion installs other framework files for Java, which I don't want to mess with deleting at all.)
    ...or does it not get installed in this process, and this is all a runaround?
    Thank you,
    Michael

  • Comparison - "JAVA" and "C"

    Hi,
    I just want to have a closer look at the comparison between the JAVA and the C Languages both in the System Side as well as in the Application Side. Please mail me a detailed view of my request. Expecting the earliest compose.
    Bye
    Chandra Kanth

    Well, a few things:
    The Java programming language is an object-oriented language and C is not. How important is that? Depends entirely on what you're doing.
    Java also has a HUGE class library at your disposal and C does not.
    For some types of applications it's easier to program in Java than in C. For others, C would work better.
    I think it's important to know what kind of programming you want to do. Java is great for GUIs, web server stuff like servlets that process forms, handle logins, etc, JavaServerPages, which handle HTML combined with scripplets or to call beans.
    I could be wrong, but I think there is more variety to what you can do with Java than with C. I hear, though, that C is better if you want to talk directly with hardware.
    Hope that helps some. Dana

  • Reading huge files

    I have a simple java file which reads huge files and writes them to database , I am getting out of memory error frequently , please tell me what memory arguments do I have to add to make this work ?

    Without seeing your code to produce the blob I have no idea what options you have. For all I know you could use the setBinaryStream method of PreparedStatement where you just pass it an InputStream pointing to your data. Which obviously wouldn't have to be in memory.

  • HT1444 I cannot access website that requires Java plug in. I could before I upgrade to OS X Lion.

    How do I access a website that requires Java plug in? I keep getting the same message that I need a Java plug in. My software is upto date. I was able to access the same website before I upgraded to OS X Lion.

    Lion no longer includes Java by default.  This is a good thing, as Java has become a huge security risk lately.  If you just need to load this site for fun, I'd advise against it.  Java simply isn't worth the risk.  However, if you really need or want to load that site, just go to the Utilities folder, which is in the Applications folder, and try to open the Java Preferences app.  You will be asked if you want to install Java...  choose to do so.
    Note that, even after you have installed Java, Lion will disable it if you don't use Java for about 30 days.  (Again, a security feature.)  You can re-enable it in Java Preferences.

  • How can I download the full source code for the Java 3D package

    how can I download the full source code for javax.media.j3d
    especially I need the Transform3D.java class.
    thanks a lot
    Meir

    thank you guys I'll try to do so, I suggest you to
    join me.From the one of the (ex-!)Java3D team:
    "I'm glad to see that Sun has decided to officially support an
    open source Java/OpenGL binding, JOGL. Perhaps they will
    eventually decide to make Java 3D open source. However, be
    careful what you wish for. The Java 3D source is huge and
    complex. There are native sections for Solaris, Windows/OpenGL,
    and Windows/Direct3D, plus common code. I don't know how you'd
    open source a build process that requires different pieces of
    the code be built on different machines running different
    operating systems."
    Sounds scary - I hope we're ready for it :)

  • Undo huge data

    Oracle version: Oracle 10G
    Operating System: Windows xp - 2
    We have one java application which inserts huge data in temp table and then there is some business logic which select data from temp table and modifies (insert + updates) other table. And the application performs these steps several times in a loop.
    Now we are facing following issues
    1) There is lots of undo data created hence the performance is very slow.
    2) Data is large (inserting data in temp is large) however we can't commit it.. As we are using it for frequent delete and insert...
    3) Any different approach we should follow

    user609923 wrote:
    We have one java application which inserts huge data in temp table from where?
    and then there is some business logic which select data from temp table and modifies (insert + updates) other table.
    And the application performs these steps several times in a loop.Why? Do you really need that? Cannot these loops be avoided? Cannot you share the data? Cannot you just leave the data as is and next time just merge changes?
    Now we are facing following issues
    1) There is lots of undo data created hence the performance is very slow.
    2) Data is large (inserting data in temp is large) however we can't commit it.. As we are using it for frequent delete and insert...
    3) Any different approach we should followAssuming you have done enough to tune existing SQL statements (or the existing algorithm per se is bad), rethink your algorithm and minimize the amount of changes.
    Gints Plivna
    http://www.gplivna.eu

  • Help needed in architecture

    We have to implement a module which is visualized as a Java process. A huge volume of transactions are expected to come in and these need to be processed at high speed(response time of 5 seconds or so). This module should be able to support non java clients (the module is being invoked from the non-stop Tandem Server in this case.) As part of deciding on the architecture we need to decide on the protocol used for communication � http/tcp/iiop etc.
    The various options we have are
    1.Implement the module as a Webservcie
    2. As EJB Session Beans
    3. RMI (is this really an option?)
    4. Socket connection
    5. any other ??
    Please give your suggestions.

    Are you the same person as in this thread?: http://forum.java.sun.com/thread.jspa?threadID=688792

  • Coherence and EclipseLink - JTA Transaction Manager - slow response times

    A colleague and I are updating a transactional web service to use Coherence as an underlying L2 cache. The application has the following characteristics:
    Java 1.7
    Using Spring Framework 4.0.5
    EclipseLink 12.1.2
    TopLink grid 12.1.2
    Coherence 12.1.2
    javax.persistence 12.1.2
    The application is split, with a GAR in a WebLogic environment and the actual web service application deployed into IBM WebSphere 8.5.
    When we execute a GET from the server for a decently sized piece of data, the response time is roughly 20-25 seconds. From looking into DynaTrace, it appears that we're hitting a brick wall at the "calculateChanges" method within EclipseLink. Looking further, we appear to be having issues with the transaction manager but we're not sure what. If we have a local resource transaction manager, the response time is roughly 500 milliseconds for the exact same request. When the JTA transaction manager is involved, it's 20-25 seconds.
    Is there a recommendation on how to configure the transaction manager when incorporating Coherence into a web service application of this type?

    Hi Volker/Markus,
    Thanks a lot for the response.
    Yeah Volker, you are absolutely right. the 10-12 seconds happens when we have not used the transaction for several minutes...Looks like the transactions are moved away from the SAP buffer or something, in a very short time.
    and yes, the ABAP WP's are running in Pool 2 (*BASE) and the the JAVA server, I have set up in another memory pool of 7 GB's.
    I would say the performance of the JAVA part is much better than the ABAP part.
    Should I just remove the ABAP part of the SOLMAN from memory pool 2 and assign the JAVA/ABAP a separate huge memory pool  of say like 12-13 GB's.
    Will that likely to improve my performance??
    No, I have not deactivated RSDB_TDB in TCOLL from daily twice to weekly once on all systems on this box. It is running daily twice right now.
    Should I change it to weekly once on all the systems on this box?  How is that going to help me?? The only thinng I can think of is that it will save me some CPU utilization, as considerable CPU resources are needed for this program to run.
    But my CPU utilization is anyway only like 30 % average. Its a i570 hardware and right now running 5 CPU's.
    So you still think I should deactivate this job from daily twice to weekly once on all systems on this box??
    Markus, Did you open up any messages with SAP on this issue.?
    I remember working on the 3.2 version of soultion manager on change management and the response times very much better than this as compared to 4.0.
    Let me know guys and once again..thanks a lot for your help and valuable input.
    Abhi

  • ORA-14551: cannot perform a DML operation inside a query

    I have a Java method which is deployed as a Oracle function.
    This Java method parses a huge XML & populates this data
    into a set of database tables.
    I have to call this Oracle function in a unix shell script using sqlplus.
    Value returned by this function will be used by the shell script to decide
    what to do next.
    I am calling the Oracle Java function as follows in the shell script:
    echo "SELECT XML_TABLES.RUN_XML_LOADER('$P1','$P2','$P3','$P4') FROM DUAL;\n" | sqlplus $DB_USER > $LOG
    This gives error - "ORA-14551: cannot perform a DML operation inside a query".
    If I have to add a AUTONOMOUS_TRANSACTION pragma to this Java function,
    where to I add it considering, that the definition of the function is in a Java class.
    Can we do it in call spec?
    create or replace package XML_TABLES is
    function RUN_XML_LOADER(xmlFile IN VARCHAR2,
    xmlType IN VARCHAR2,
    outputDir IN VARCHAR2,
    logFileDir IN VARCHAR2) RETURN VARCHAR2 AS
    LANGUAGE JAVA NAME 'XmlLoader.run
    (java.lang.String, java.lang.String, java.lang.String, java.lang.String)
    return java.lang.String';
    end XML_TABLES;
    If not is there any other way to acheive this?
    Thanks in advance.
    Sunitha.

    If I have to add a AUTONOMOUS_TRANSACTION pragma to this Java function,You'd have to write a PL/SQL function that calls the JSP. But I would caution you about using that pragma. It does introduce tremendous complexity into processing.
    As I see it you only need a function to return the result code so why not use a procedure with an OUT parameter?
    Cheers, APC
    Of course Yoann's suggestion of using an anonymous block would work too.
    Message was edited by:
    APC

  • Large Messages fail on Integration Engine

    Hello Guys!
    I have an integration scenario with <b>large</b> messages going from ECC to XI (RFC -> XI -> JDBC) and these messages frequently fail on Integration Engine (inbound queue SYSFAIL).
    1) Can't XI process large messages?
    OR
    2) Is there an integration engine configuration parameter that limits message size? (<i>I think that's not the case, because sometimes I can manually restart a message that failed on a first attemp</i>)
    OR
    3) Is there an integration engine configuration parameter that limits processing time of a message?
    Thanks
    Julio

    Hi Julio,
    i think you can click on the sysfail to get more info. Check as well SM21 for the error. Assumedly it was too much for Java Runtime and you should find a temporary down destination AI_RUNTIME_JCOSERVER.
    SAP note 723909 shows how to tune JVM and increase Java Heap Size.
    You should control if more than one msg leads to the error. If that is the case, may be a simple change of QOS to EOIO could solve the task to avoid more than one msg processing parallel. Reducing parallel JCO server threads would be similar strategy.
    A direct Java Maping could be another idea. Message Mappings will be generated to Java with a quite huge source code, a direct written mapping could be more performant / stabil.
    Regards,
    Udo

  • Temporary file

    Hi,
    I need to develop a server side component which handle a file selected by a client. This file can be vary large.
    My question is can i store a temporary file on the server according to the j2ee 1.2 specification?
    If the anwser is now what other solution can i use?
    thnx

    Very sad to hear that. You must understand though, from a security point-of-view, that allowing a server-side program to do whatever it wants - security and reliability goes right out the window. Not good as you can guess.
    You can sometimes create your own mini-servers. As newer programmers learn Java they see a huge library of things to do, and sometimes get confused or misdirected as to how things work.
    A server can be as small as four lines of code! It won't do much, but IT WILL WORK. A simple web server is easy to create. The majority of hassles behind programming is learning methods and technologies - not the code behind it. The code just creates itself once you understand what needs to happen.
    It's a lot like business. When I ended high school, I knew as much as I know now; but until I get a piece of paper from a college I will not get a job. Thankfully, I am completing my last semester of my associates degree in computer information systems with a focus on networking.
    I understand HTTP, FTP, and many more protocols (RFCs). It's this "higher level thought" that is what employers look for.
    Now, I have completely lost my train of thought (that's what happens when you go to college) and so I will end this stupid post.
    Have fun.

  • X connection to :0.0 host broken (explicit kill or server shutdown)

    Hello All,
    I strongly believed in using JAVA Swing GUI, for huge data visualization.
    Now I encounter a problem:
    I start up my application, and things work very well and looks pretty fast.
    I try and create a JPanel with is almost 11.3MPixels (just length), and I don't have any problem. However, if I try and create a JPanel 15.4MPixels (just length), my application crashes and I receive a weird error - "X connection to :0.0 host broken (explicit kill or server shutdown)". This happens only on Linux (I am using Debian). I bumped Xmx till 1024m (My system has more than that).
    If I run same application in Windows, I do not have this error at all, everything displays fine. I am using -Xmx200m.
    This is not a Memory issue. I am assuming something is wrong with Java-on-Linux or I am unaware of what is happening.
    Can anyone of you enlighten, and help me solve this issue?
    Thanks in advance,
    Jazz

    Hello All,
    I strongly believed in using JAVA Swing GUI, for huge data visualization.
    Now I encounter a problem:
    I start up my application, and things work very well and looks pretty fast.
    I try and create a JPanel with is almost 11.3MPixels (just length), and I don't have any problem. However, if I try and create a JPanel 15.4MPixels (just length), my application crashes and I receive a weird error - "X connection to :0.0 host broken (explicit kill or server shutdown)". This happens only on Linux (I am using Debian). I bumped Xmx till 1024m (My system has more than that).
    If I run same application in Windows, I do not have this error at all, everything displays fine. I am using -Xmx200m.
    This is not a Memory issue. I am assuming something is wrong with Java-on-Linux or I am unaware of what is happening.
    Can anyone of you enlighten, and help me solve this issue?
    Thanks in advance,
    Jazz

Maybe you are looking for