Why is the JVM geiing Aborted !!!

Hi all
When i am working with a particular form i got the error 'FRM - 92101 - Forms session aborted.Unable to communicate to the runtime process' I debugged it and found that JVM is getting Aborted when i reach a particular Trigger.
Could anyone tell me why is the JVM geiing Aborted and how can we prevent it.
TIA & Regards
Dinesh

hi
I am pasting the details of frmweb_dump_137044 from the trace folder
[04/09/10 11:06:54 GMT Daylight Time]::Client Status [ConnId=0, PID=137044]
     >> ERROR: Abnormal termination, Error Code: C0000005 ACCESS_VIOLATION
======================= STACK DUMP =======================
Fault address: 609B73AB 01:000463AB
Module: C:\DevSuiteHome_1\bin\orapls10.dll
System Information:
Operating System: Windows NT Version 5.0 Build 2195 Service Pack 4
Command line: frmweb server webfile=HTTP-0,0,0,MFO182_DEBUG,10.87.193.108
FORM/BLOCK/FIELD: MFO182607:MFOLOTDLOT.PREL_QTY
Last Trigger: KEY-NEXT-ITEM - (In Progress)
Msg: <NULL>
Last Builtin: FORM_SUCCESS - (Successfully Completed)
Registers:
EAX:00000002
EBX:012FDF34
ECX:00000002
EDX:01353335
ESI:012FDF84
EDI:0526FD04
CS:EIP:001B:609B73AB
SS:ESP:0023:0012D0E4 EBP:0012D114
DS:0023 ES:0023 FS:0038 GS:0000
Flags:00210202
------------------- Call Stack Trace ---------------------
Frameptr RetAddr Param#1 Param#2 Param#3 Param#4 Function Name
0x0012d114 60a4a5fb 00fa2e50 00000075 012fdf6c 00000002 pevmMOVC_i+3db
0x0012d130 60a496e7 00fa2e50 012ea62a 00fa2e8c 00f4c7fc pfrinstrMOVC+2b
0x0012d2fc 609c98f0 00fa2e50 00ed41dc 00f4c7fc 00fa2e50 _pfrrun+10f7       
0x0012d3bc 6099b008 00fa2e50 00000001 00000000 00000008 plsqlrun+420
0x0012d42c 6673e68c 00ed41dc 00fa2e50 00e32360 00eddeec _peicnt+b8         
0x0012d888 664a0f47 00e32360 00ed41dc 00f0f93c 00edd598 0x6673e68c
0x00eddeec 00000000 00ed2078 00edd598 00f797bc 00000000 0x664a0f47
------------------- End of Stack Trace -------------------
Please guide me Accordingly to resolve this issue.
Regards
Dinesh
Edited by: user9217209 on Apr 12, 2010 10:29 AM

Similar Messages

  • Why does using a static jclass variable within a method crash the JVM?

    I have some native code, that in a single thread, loops over a Java method. To improve performance, I tried this:
        static jclass clazz = env->FindClass("foo");
        /*FIXME: GetStaticMethodID crashes with "Bad global or local reference"*/
        jmethodID mid = env->GetStaticMethodID(clazz, "makeEvent", sig);But with the static declaration of clazz, the JVM crashes on the second iteration. Why? Is this really any different then using a C++ member field ?
    My loop is really a bit more complicated then this, in that it starts several calls up. I hate the idea of
    A) actually calling FindClass every iteration.
    B) passing the clazz pointer through 3 layers of calls, just to avoid calling FindClass
    Is there a better way?
    Thanks!

    Well I tried this, and it does not compile, becuase NewGlobalRef returns jobject not jclass.
    Yes "jclass" is a pointer to a c++ object jclass, and jclass extends _object. However,
    static jclass myGlobalRef dynamic_cast<jclass>( NewGlobalRef (myJClass));Does not compile either. The error is
    error C2683: 'dynamic_cast' : '_jobject' is not a polymorphic type
    static jclass myGlobalRef static_cast<jclass>( NewGlobalRef (myJClass));
    DOES compile, but it is very dangerous. And using static_cast when dynamic_cast fails is a super-bad idea.
    Just for laughs, I tried it anyway, and when I use -Xcheck:jni, the JVM dies with a fatal error.
    Edited by: charlweed on Sep 19, 2009 3:56 PM
    Typo

  • Why com.sun.CORBA.ORBServerHost can not be cleared after the JVM is closed?

    run an application on a multiple IPs windows box. In order to initialize the ORB on the right IP, i set the com.sun.CORBA.ORBServerHost property at the app startup.
    If the right IP is set, then the software works fine as expected. Btut ionce the wrong IP is set, the software won't work even if I restart it with the right parameter. It looks like the new value just does not take effect.
    And until the box is rebooted, the new parameter will take effect. As per my understanding, this parameter should be set at a JVM level and will be cleared after the JVM is shutdown......
    Have no idea how to fix this issue and even don't know where to start to investigate it?
    Would you please provide any suggestion on it? Thx in advance.

    I had the same problem when I upgraded to snv_114 from snv_98
    on SPARC. The important line in /var/dt/Xerrors is this one:
    could not open default font 'fixed'
    The problem (in my case, anyway) was that the fonts.dir files were
    not updated during the install/upgrade process. This fixed it:
    $ su -
    # cd /usr/X11/lib/X11/fonts
    # for f in *; do cd $f; mkfontdir; cd -; done

  • Why does this popup on shutting down my Mac--Continue the installation-.choose abort if you wish to cancel installation

    I am getting this popup when I am shutting my iMac desktop. OSX Mountain Lion. I use Safari. "Continue the installation….choose abort if you wish to cancel installation….then is says "abort and yes"
    I have tried removing InstallMac and anything Geneio from the hard
    drive. Any other suggestions?

    Genieo Adware is installed.  Removing it will help.
    If you have another browser installed, use it.
    If not, launch App store and get another  browser for temporary use.
    Remove it afterwards.
    1. Use  free  AdwareMedic by clicking “Download ” from here
        http://www.adwaremedic.com/index.php
        Install , open,  and run it by clicking “Scan for Adware” button   to remove adware.
        Once done, quit AdwareMedic by clicking AdwareMedic in the menu bar and selecting
        “Quit AdwareMedic”.
                   or
        Remove the adware  manually  by following the “HowTo” from Apple.
        http://support.apple.com/en-us/HT203987
    2. Safari > Preferences > Extensions
         Turn those off and relaunch Safari to test .
         Turn those on one by one and test.

  • Does DestroyJavaVM() [i]really[/i] destroy the JVM?

    Hi,
    If anybody has any advice on this issue I would really appreciate it. I use Java in my C++ application through JNI. For various reasons, once I'm done making my Java calls, I no longer want the JVM to be running. The trouble I'm having is that even after making the call to DestroyJavaVM(), the JVM seems to continue to run, as evidenced by the fact that if my code subsequently does something like throw a signal, the JVM picks up on it and spits out an error message. Here is a simple program that illustrates my point:
    #include <iostream>
    #include <jni.h>
    #include <string>
    using std::cerr;
    using std::endl;
    using std::string;
    static JNIEnv* envHandle;
    static JavaVM *jvm;
    const string DISABLE_JIT_OPTIONS = "-Djava.compiler=NONE";
    const string USER_CLASSES_OPTIONS = "-Djava.class.path=.:";
    int main(int argc, char **argv)
      // Initialize a JVM
      JavaVMOption options[4];
      JavaVMInitArgs vm_args;
      jint jstatus;
      options[0].optionString = const_cast<char*>(DISABLE_JIT_OPTIONS.c_str());
      string userClassesOptions = USER_CLASSES_OPTIONS;
      string minHeapSize = "-Xms128m";
      string maxHeapSize = "-Xmx1024m";
      const char* javaLibs = getenv("JAVA_LIB_HOME");
      userClassesOptions += javaLibs;
      options[1].optionString = const_cast<char*>(userClassesOptions.c_str());
      options[2].optionString = const_cast<char*>(minHeapSize.c_str());
      options[3].optionString = const_cast<char*>(maxHeapSize.c_str());
      vm_args.version = JNI_VERSION_1_2;
      vm_args.options = options;
      vm_args.nOptions = 4;
      vm_args.ignoreUnrecognized = JNI_FALSE;
      jstatus = JNI_CreateJavaVM(&jvm, (void**)&envHandle, &vm_args);
      if (envHandle->ExceptionOccurred())
        cerr << "Unable to initialize VM" << endl;
        exit(-1);
      // Destroy the JVM
      jvm->DestroyJavaVM();
      if (envHandle->ExceptionOccurred())
        cerr << "Unable to destroy VM" << endl;
        exit(-1);
      // Do something stupid...
      int *a = 0;
      int b = *a;
    }So, if you look at the 'Do something stupid' piece of code, that generates a seg fault, which I would like to handle myself, but it looks like the JVM picks up on even though I previously destroyed it and spits out the following message:
    Another exception has been detected while we were handling last error.
    Dumping information about last error:
    ERROR REPORT FILE = (N/A)
    PC = 0x0x8049def
    SIGNAL = 11
    FUNCTION NAME = (N/A)
    LIBRARY NAME = (N/A)
    Please check ERROR REPORT FILE for further information, if there is any.
    Good bye.
    Abort
    Is there something wrong in the way I'm destroying the JVM? Does anybody know why this happens?
    Thanks in advance!

    You will need to wait for any thread(s) to finish and exit before the VM will shut down, and even then it may not be destroyed, depending on the JVM version.
    Take a look at this reference:
    http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/intro.html
        In JDK 1.1.1, the thread calling DestroyJavaVM must be the only user
        thread in the VM. JDK 1.1.2 has lifted this restriction. If DestroyJavaVM
        is called when there is more than one user thread, the VM waits until
        the current thread is the only user thread, and then tries to destroy itself.The spec does not promise the VM will actually be unloaded, so this part may depend on the implementation:
    http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/invocation.html#destroy_java_vm

  • On the printing slowness of Postscript produced by the JVM from calls to Graphics.drawString() (Linux/Unix)

    Happy new year,
    before the holidays my attention was drawn to an issue that supposedly the Postscript produced by the JVM is too big and hence too slow.  Here are my findings.
    The issue
    Text printing via CUPS to native Postscript printers can be slow. Printing a terms and conditions page (17000 characters/page) takes three and a half minutes to print on a Dell 2330 dn laser printer (96 MB,Max speed 33 ppm). The file is about 8 MB in size. To contrast that, rendering the text to a buffered image with 300 DPI and printing the result produces 7 MB of output which prints in 30 seconds on the same printer. More measures for different printers and documents can be found at the end of this post. The issues is registered as  "JDK-4627340 : RFE: A way to improve text printing performance for postscript devices" (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4627340) and the proposed workaround is to use printer fonts.
    Side remark regarding the workaround
    There is a regression that prevents the workaround from working (bug 9008662 at Sun (not yet visible),  bug 8023990 at OpenJDK (https://bugs.openjdk.java.net/browse/JDK-8023990). Without knowing what other bad side effects this might have, the issue can be resolved by setting the property "sun.awt.fontconfig". On my system I set it to the location of a "fontconfig.properties" of a JVM that does not have the bug (e.g. /home/alex/openjdk_7_b147_jun_11/openjdk/build/linux-i586/bin/java -Dsun.awt.fontconfig="/etc/java-6-openjdk/fontconfig.properties" Print2DtoStream). I also successfully tested the workaround on an Oracle JVM 1.7.0_03-b04.
    Back to the main topic
    How the JVM draws text if it can't use a standard printer font
    Text is drawn with postscript path drawning commands such as "moveto", "lineto" or "curveto". As an example consider the word "ll" which looks something like this:
    %N->short for "newpath"
    N
    %paint first "l"
    %M->short for "moveto"
    0.76875 11.06 M
    %L->short for "lineto"
    0.76875 2.468 L
    1.823 2.468 L
    1.823 11.06 L
    0.76875 11.06 L
    %p->short for "closepath"
    P
    %paint second "l"
    3.649 11.06 M
    3.649 2.468 L
    4.703 2.468 L
    4.703 11.06 L
    3.649 11.06 L
    P
    The same text could be printed with a printer font using the command "(ll) show" which is much more compact but is available in Java only for the Postscript standard fonts and it isn't working at all right now as explained above.
    Is it the file size?
    My first thought was that the file size was the source of of slowness and so I wrote a small processor that would detect glyphs, normalize*1 them and place them in a dictionary. Recurring references to the same glyph were replaced by a dictionary reference  (This is incidentally the fix proposed by the original author of RFE 4627340). This shrunk the file to about 11% of the original size but the processing time surprisingly doubled.
    *1: With "normalizing" I mean applying a translation transform so that the smallest coordinates in the contours of a glyph are exactly 0. In addition I experimented with performing a normalizing scale transform so that all coordinates lie between 0 and 1 so that identical glyphs are detected at arbitrary positions and at different font sizes.
    That led to the question to why there is such a big difference in performance between a Type 1 font dictionary and a self constructed dictionary since both contain basically the same drawing instructions. The difference is apparently that fonts are cached and user drawings are not unless explicitly told.
    The Postscript "ucache" instruction
    Postscript level 2 introduces the "ucache" instruction which seems to be defined for precisely this kind of problem. From the documentation:
    "Some PostScript programs define paths that are repeated many times. To optimize the interpretation of such paths, the PostScript language provides a facility called the user path cache. This cache, analogous to the font cache, retains the results from previously interpreted user path definitions. When the PostScript interpreter encounters a user path that is already in the cache, it substitutes the cached results instead of reinterpreting the path definition. "
    After adding "ucache" instructions to my filter the speed improved by factor 10.
    To illustrate the said the "ll" text from above looked as follows after the transformation:
    %definition of the glyph "l" named "p0"
    /p0
    ucache
    0.000 0.000 1.054 8.592 setbbox
    0.000 8.592 moveto
    0.000 0.000 lineto
    1.054 0.000 lineto
    1.054 8.592 lineto
    0.000 8.592 lineto
    closepath
    } cvlit def
    G
    N
    0.769 2.468 translate
    %draw "l" at 0.769 2.468
    p0 ufill
    -0.769 -2.468 translate
    3.649 2.468 translate
    %draw "l" at 3.649 2.468
    p0 ufill
    -3.649 -2.468 translate
    For ucached shapes there is a special compact representation so that the same can be written as follows:
    /p0
    0.000 0.000 1.054 8.592
    0.000 8.592
    0.000 0.000
    1.054 0.000
    1.054 8.592
    0.000 8.592
    } cvlit def
    G
    N
    0.769 2.468 translate
    p0 ufill
    -0.769 -2.468 translate
    3.649 2.468 translate
    p0 ufill
    -3.649 -2.468 translate
    Interestingly the speed improvement remained the same on a Chinese report that had hardly any character reuse. Upon this observation I changed the filter to not use a dictionary but so simply instruct the interpreter to cache each glyph definition and the performance remained nearly the same.
    The initial "ll" text from above looks as follows after this transformation:
    N
    %paint first "l" cached
    0.76875 2.468 1.823 11.06
    0.76875 11.06
    0.76875 2.468
    1.823 2.468
    1.823 11.06
    0.76875 11.06
    } ufill
    %paint second  "l" cached
    3.649 2.468 4.703 11.06
    3.649 11.06
    3.649 2.468
    4.703 2.468
    4.703 11.06
    3.649 11.06
    } ufill
    Note that I didn't normalize the shapes.
    Why does this improve the performance so vastly if the shape is drawn only once? For a while I thought perhaps that the interpreter would consider two paths which differ only by a translation as being the same but rereading the documentation and looking at the Chinese example in which nearly all characters are unique, disproves this. The relevant part of the documentation reads:
    "Caching is based on the value of a user path object. That is, two user paths are considered the same for caching purposes if all of their corresponding elements are equal, even if the objects themselves are not.
    A user path placed in the cache need not be explicitly retained in virtual memory. An equivalent user path appearing literally later in the program can take advantage of the cached information. Of course, if it is known that a given user path will be used many times, defining it explicitly in VM avoids creating it multiple times.
    User path caching, like font caching, is effective across translations of the user coordinate system, but not across other transformations, such as scaling or rotation. In other words, multiple instances of a given user path painted at different places on the page will take advantage of the user path cache when the current transformation matrix has been altered only by translate. If the CTM has been altered by scale or rotate , the instances will be treated as if they were described by different user paths."
    An explanation that would fit the findings
    The rasterizer renders the page multiple time (perhaps in order to save memory and produce horizontal strips). On the first rendering the cache is filled and reused on the subsequent renderings thereby improving performance even if all cached items are used only once.
    Based upon this theory I hoped that the strip height would grow if I added more memory to the printer but this was not the case on the two printers for which I had memory to test with. Even substantial changes to the available memory (e.g. going from 32 MB to 96 MB) had no impact whatsoever on the performance.
    Summary
    The issue is not related to the file size as the original requester suspected but very likely due to the uncached rendering. Caching of glyphs can be achieved by using the "ucache" instruction or perhaps by placing the glyphs in font dictionaries and using the "show" operator.
    Although reported in 2003, time is apparently not healing this quick enough since printers in the 10,000$ class like the Sharp MX2310U still take a full minute to print 10 pages and a desktop printer may be blocked for over an hour for the same document.
    We will now try to use the CUPS filter and leave the printers configured as Postscript printers. If there is interest I can post the single file source of a CUPS filter that performs the inline conversion described. Apart from libl it requires no additional libraries and written using flex it is reasonably lightweight and fast.
    I would appreciate any opinion on whether or not the proposed workaround for bug 8023990 (https://bugs.openjdk.java.net/browse/JDK-8023990), namely having the system property "sun.awt.fontconfig" pointing to a working fontconfig.properties of a previously installed and working 1.6 version file, is safe.
    Measures (Appendix)
    "Terms and Conditions" report
    Testing a single page "Terms and Conditions" report in "Arial" 8pt (I am aware that "Helvetica" is width compatible and nearly looks the same but in this particular case the line height was also relevant and as explained above, printer fonts are currently not working). The page contains 17000 characters of which some parts are bold and some italic. This is a real world example and to make things worse the requirement is to print the text on the backside of every page on a certain class of reports. I am aware that this is a bit extreme but I also felt that I couldn't dismiss it as being unreasonable.
    File "Arial.ps" (7.5 MB Unmodified output of the JVM)
    Printer
    Printing time
    Dell 2330dn 32MB/96MB
    3:50 minutes
    Lexmark X658de (55 ppm, aprox. 5,000$)
      1:45 minutes
    HP LaserJet 4240n 64 MB
    1:12 minutes
    Kyocera Taskalfa 300ci (30 PPM, aprox. 8,000$)
    1 minute
    HP Color LaserJet 4650 dn 128/384MB
    51 seconds
    Sharp MX 2310U 512MB (55ppm,  aprox. 10,000$)
    31 seconds
    Arial_inline.ps (8 MB contains "ucache" without normalization and without dictionary)
    Printer
    Printing time
    32MB/96MB
    30seconds/30seconds (Improvement by factor 7.7)
    Lexmark X658de (55 ppm, aprox. 5,000$)
      15 seconds (Improvement by factor 7)
    HP LaserJet 4240n 64 MB
    47 seconds (Improvement by factor 1.5)
    Kyocera Taskalfa 300ci (30 PPM, aprox. 8,000$)
    20 seconds (Improvement by factor 5)
    HP Color LaserJet 4650 dn 128/384MB
    46 seconds (Improvement by factor 1.1)
    Sharp MX 2310U 512MB (55ppm,  aprox. 10,000$)
    14 seconds (Improvement by factor 2)
    Asian characters test
    Testing 10 pages of Asian characters in the font "WenQuanYi Zen Hei" 12pt where each page contains 49 lines by 40 unique characters. The document contains the 30,000 characters between unicode 0x4e00 and 0x9fff. This is a nonsense stress test but it illustrates  that the "ucache" speedup works even though no character is repeated in the report.
    Asian.ps  (52 MB Unmodified output of the JVM)
    Printer
    Printing time
    Dell 2330dn 32MB/96MB
    64 minutes
    Lexmark X658de (55 ppm, aprox. 5,000$)
    Not measured
    HP LaserJet 4240n 64 MB
    11 minutes
    Kyocera Taskalfa 300ci (30 PPM, aprox. 8,000$)
    Not measured
    HP Color LaserJet 4650 dn 128/384MB
    9:13 minutes
    Sharp MX 2310U 512MB (55ppm,  aprox. 10,000$)
    4:08 minutes
    Asian_inline.ps (54 MB contains "ucache" without normalization and without dictionary)
    Printer
    Printing time
    32MB/96MB
    5:30 minutes (Improvement by factor 11.6)
    Lexmark X658de (55 ppm, aprox. 5,000$)
    Not measured
    HP LaserJet 4240n 64 MB
    3:48 minutes (Improvement by factor 2.9)
    Kyocera Taskalfa 300ci (30 PPM, aprox. 8,000$)
    Not measured
    HP Color LaserJet 4650 dn 128/384MB
    2:46 minutes (Improvement by factor 3.4)
    Sharp MX 2310U 512MB (55ppm,  aprox. 10,000$)
    48 seconds (Improvement by factor 5)

    Hi Sven,
    Will putting the boilerplate in the trailer section allow me to still have it appearing on the back page of the main report? This is where it needs to be as far as the printed report goes - it is duplexed.
    Regards
    Lanny

  • How the JVM SHOULD be distributed (interesting)

    Well I sent this document to the JCP maybe it will be better off there....
    Sun needs a new JAVA marketing strategy.
    Opinions expressed here are of my own, Matt Prokes, remember these are only opinions about what should or could be.
    If you have ?'s contact me at [email protected]
    What Java's Problem Is:
    As far as I can see the only problem that java has these days is the client inconsistencys, this is due to Microsoft and there attempted dustruction of the HUGE java language, and Microsoft has succeeded wonderfully thus far, which is sad. I feel it is only due to the way Sun markets Java, not that they have not tried but they are going about it the wrong way.
    Sun Feels They Are Being Oppressed:
    It seems to me that Sun has a feeling of being oppressed by Microsoft, they see the company inflicting standards on the computing world that are self centered and platform specific, this is why java was created, to break that mold and it does it wonderfully but java has not gained populatiry because of marketing technique, no, it has gained popularity because it REALLY is what it is cracked up to be....A better way of doing things....
    That is why sun landed the title of being one the the most innovative companys today by the magazine �PC World� ranking 13th place while Microsoft landed 137th (i think).
    Yet with all this technology sun does not try to inflict it's standards on the PC world, well you might think what about all those court cases, for instance the most recent that suggests that Sun wants to FORCE Microsoft to install their JVM. I think stuff like this just slows Sun down, as we learned with previous cases Microsoft is just to big to fight and if you do manage to win it will be 3-4 years later. If you think about it time is money, why waste time? Trying to leach off of Microsoft is NOT the way to inflict standards, infact it is one of the worst ways because by the time you would have won microsoft would have bullied the java enviroment to it's grave (umm .net). So you may ask how do we enforce standards without the help of microsoft, the answer is more simple than you may think yet for some reason it has not been thought of by Sun. So far this is what has brought microsoft to the top.
    1.Great Software
    2.Enforced Standards, and Implementation
    3.Excellent Marketing
    4.Protected Software (Ideas)
    5.Industry Wide Support
    Innovation is not on this list, Microsoft does not have a innovative bone in it's body at the moment, it just buys technology that it needs, and has flashy GUI's, and a huge amount of support in the software industry. This is why according to the magazine �PC World� microsoft ranks #137 in innovation while Sun sits at a satisfying ranking of #13.
    What this means is that Sun just is more innovative, it has technology out there that could be used but it can't because we have clients with Version 1.3 Java software on their PC's, Either that or Propietary and NOT PLATFORM INDEPENDENT Microsoft JVM's which Microsoft will again start to distribute in 2004 on XP, this brings me to my first point, if we are going to have a platform independent language it needs to come from ONE POINT that will be implemented by all Manufactures (the W3C for instance). You may be thinking well how do you enforce the SUN JVM if microsoft does not pack it with windows? The answer is you do what most new companys do and that is goto the PC Vendors. I would like to point out that microsoft is for the most part ONLY a software company (aside from some of there PC products), but they do not build and distribute PC systems, thus microsoft does not control what can go on a PC, I would like to point out the growing Linux threat to windows, more particulary the linux based operating system (Lindows) recently lindows has aquired a deal with walmart to sell there operating system as a subsitute to windows, this worked out phenominaly and right now walmart cannot seem to keep enough of the pc's on the shelves (since they cost only about 199$). Case point linux has also grown enormously due to �Home Editions� of linux (Red Hat). The first point I would like to make is that Sun should be PAYING vendors to install the SUN JVM over the microsoft one, this takes care of a few of Sun's problems (Not as much industry support as microsoft, and upgrading the JVM) all this can be done for a measily 5-6 million a year and will reach about 70% of the PC sector, infact I am almost certain this is how microsoft started out.
    One Of Java's Big Problems JVM Inconsistencys
    Now if Sun locks 70% of the PC market that will already be a large boost for java, but the question is how to make the percentage grow to 100%... I would now like to point out the company Macromedia, macromedia products are phenominal, and have changed the way media is seen on the web, particularly the Flash product that macromedia sells, now at this moment macromedia has stated that >90% flash support exists on the web today and >70% is with the most current version of flash, as I see it infact flash is one of the most universally supported pieces of software even more so than microsoft, this is why you see flash movies on yahoo, cnet, amazon, and even MSN! So you may ask what made flash what it is today? Well as described before flash is supported and installed by PC vendors, and even if it is not you can bearly go any place on the web with out getting a message stating that you should upgrade to the most current version of flash, this is due to the wide support on the web..... Now on the other hand if I run a java applet and the applet was compiled with some new features that were not supported in version 1.3 (Swing for example) we will get an error message stating that the package cannot be found and the applet will not run...You do not get any messages to upgrade, no window prompts, nothing..which brings me to my next point the java compiler should include the code (a pre JVM 1.3 version & microsoft JVM compatiable) that will prompt you to install the most current version of Java you already see default loaders for swing, a plugin check should also be included in all programs to ensure that you have to most recent version, and if you do not then it will send you to the Sun Website, or display a update manager or something. Getting an error saying that the applet packages are not found does not help the user any it only frusterates them, you have to physically provide a remedy to the problem at hand. This should also check to see if the microsoft JVM is installed and if it is prompt to upgrade to the Sun JVM, this will pretty much distroy the use of the microsoft JVM.
    This takes care of the enforcing standards part, braudens the Industry Wide Support, and protects the java enviroment, last but not least you need to promote the software, Java already does this excellently with webservices, and other things but there are more consumers than businesses and Java should also be concentrating more on the excellent 3d support that they have, the networking features of java, ect. Take OpenOffice.org for instance the product has grown emmensly since it has started and much uses Java API's, you would see much growth in Java if you provided other products like Open Office for free, for instance a Quake Like Multiplayer game in Java 3D distributed on an open source enviroment, in applet form (since applets are exclusivly a invention of Java), and then have a couple of servers set up that people can play for free on Sun's site, more networking app's for free, ect. You have to promote some of the more flashy features of Sun this way in order to see more growth and support and for free (learn from linux which is quickly becoming a HUGE threat for microsoft) if sun is making 13 billion a year I see no problem to them sporting a couple of servers with some USEFUL online apps/games/ect that sport how innovative java really is, and if they really need to they can have all the banners on stuff like the online games, take Http://www.runescape.com that sports an average of 10,000 users at any moment using the cross platform Java 3d API and they do it for free! All open source free products should be on Suns website, it shows how strong of a community Sun really is, instead of having it on some other website like www.openoffice.org that only sports Sun's name maybe a few times you might occasionally see a logo.. it would be better to maybe get open office from an address like www.openoffice.sun.com, maybe try a www.games.sun.com address or a www.apps.sun.com and then advertise the stuff that can be found at the Sun website. Sun should be proud to be open source, it is the only thing microsoft can't buy....
    Opinions Of Matt Prokes..
    [email protected]

    Sun should be proud to be open source, it is the only thing microsoft
    can't buy....Thats the only line of your whole pointless post that I read.
    Since when is "sun" open source. I imagine you mean java. Java isn't open source, what makes you think it is? You can get the source for it and modify it to suit ur needs as per the license but this isn't really open source.. is it?
    Anyway, don't waste space with your crap here, send an e-mail to somebody at sun instead, its just a waste posting this here.

  • Oracle.oc4j.sql.managedconnectionimpl objects are not cleared from the JVM

    One of our customer is facing the outofmemory issue, when they connect many users and they go ideal for some times, without doing any operation on the server and when they come back and connect they get Out of memory issue.
    For that i just profiled my application and i can see the following objects never get cleared from the JVM.. Following objects not GC.
    oracle.oc4j.sql.spi.managedconnectionimpl
    oracle.oc4j.sql.xa.iccxaconnection
    oracle.oc4j.sql.spi.connectionrequestinfoimpl
    oracle.oc4j.sql.managedconnectionimpl
    oracle.oc4j.sql.spi.Txstate
    oracle.jdbc.driver.logicconnections
    We do have a pooling timer running at the back end.
    Please suggest is there any why i can make these connections Garbage collected when they are not in use? is there any setting for in oc4j for that?
    Thank you

    One of our customer is facing the outofmemory issue, when they connect many users and they go ideal for some times, without doing any operation on the server and when they come back and connect they get Out of memory issue.
    For that i just profiled my application and i can see the following objects never get cleared from the JVM.. Following objects not GC.
    oracle.oc4j.sql.spi.managedconnectionimpl
    oracle.oc4j.sql.xa.iccxaconnection
    oracle.oc4j.sql.spi.connectionrequestinfoimpl
    oracle.oc4j.sql.managedconnectionimpl
    oracle.oc4j.sql.spi.Txstate
    oracle.jdbc.driver.logicconnections
    We do have a pooling timer running at the back end.
    Please suggest is there any why i can make these connections Garbage collected when they are not in use? is there any setting for in oc4j for that?
    Thank you

  • Can I change the JVM running in JServer

    I have set up a 8.1.5 database with the jserver option.
    I have tried to load some java stored procedures into this database. Some of these fail because of unresolved errors for things like an iterator.
    I can see why the resolution error is happening. That is my code uses jdk1.2 features, wheres as the jserver seems to be running the 1.1 java.
    My question is: is there a way to change the jdk version being run by jserver? or is this version fixed by oracle?
    I have used oracle 8.1.6 and this seems to work fine i.e. jserver runs java 1.2 libraries and everything loads and runs fine.

    Nope, you can't change the JVM. It's part of the Oracle kernel itself (like PL/SQL)
    null

  • How to get name of class that the JVM was started with ?

    Assume I have class foo with the standard main method.
    I also have classes ding and dong, they extend foo.
    The JVM is started with either ding or dong as the 'main' class. Since neither ding nor dong directly implement main, the actual main method being executed is foo's.
    In the main method of foo I want to construct an instance of either ding or dong, depending on which the JVM was started with. Since I'm in a static context, I can't do anything with 'this'. Is there another way to get the name of the 'main' class from the JVM so that I can construct an instance of it ?

    The idea behind all of this is that the developer of
    Ding and Dong should not have to know anything about
    foo, in particular it's constructors. But if Ding and Dong are subclasses of Foo, then developers must know about Foo. If you expect developers to extend a framework without having a well-defined interface to that framework, you are probably heading for trouble.
    To be able to
    privatize the constructors, construction of the
    concrete class has to take place in foo.If Ding and Dong are subclasses of Foo, then you can not make all of Foo's constructors private.
    Of course I could have a method in Ding and Dong that
    calls a static method in foo into which the Ding and
    Dong instance pass their class, but then I'd have
    identical implementations of this method in Ding and
    Dong. Yes you would (well, not identical, but very similar). Like I said, you could do this programmatically with AOP, or you could probably do it dirtily using stack traces (though with it being a single hit at startup, you might not consider it being quite so dirty).
    But: the point of inheritance is that common
    functionality goes into superclasses. I disagree. The important thing about inheritance is that classes share an interface, and that methods can be polymorphically inherited, allowing new functionality to be 'plugged in' in the future, and even at runtime.
    Also, in
    general one wouldn't make methods static if a class
    reference is needed (or one would make it an
    argument), but Sun didn't consult me when they
    designed the main method :-(I still don't see why you need to do what you want to do. It appears that all you are after is the ability to start your program using a command line like
        java com.mypackage.Ding
    instead of
        java com.mypackage.Foo com.mypackage.Ding
    or
        java com.mypackage.Foo Ding.properties
    or something else along these lines.
    Since you must know the name of the class you want to use at the time you want to use it, why can't you just pass the name as an argument, or start up using some properties file, or a shell script?

  • Setting the CLASSPATH from the JVM by a class

    Hy experts
    I have an application thats searching a jar file and have to access classes from this jar file.
    There are two ways to do this:
    1.
    Loading the jar file byte by byte and create the classes to load them into memory. This is the hard way.
    2.
    Setting the CLASSPATH variable in the running program! Thats the easy way! May how does it works?
    Is there any possiblity to set the classpath in a running application or only in the shell?
    Thanks for help
    konrad

    the classpath is readin when you run the JVM ie issue the 'java' command, the environment cant be altered to update a new classpath. However, why not just put the files you wish to load at runtime within the current classpath you've setup. If you use the System.loadLibrary(), you should be able to pick up the classes you wish to readin at run time via this approach.
    good luck
    rob

  • A good about the JVM

    I went to local B&N and they had no books with "JVM" or "Java Virtual Machine" in the title. Amazon has stuff from 2002.
    Does a good book about the jvm exist?
    What should i read to learn about some of the fine points of java?

    wpafbuser1 wrote:
    I like books. I spend enough time looking at a screen, thanks. That's a weak argument, and so is the info in books compared to the Internet. In any case, it sounds like you need a new screen. There's a new invention called a printer. Do you understand the concept "people are not all the same"? Seems to me you have difficulty accepting anyone else might have a valid opinion on anything unless it matches your own. It isn't in the least bit weak, I don't like staring at screens all the time. Printer? You seriously want to keep track of thousands of pages of printed work?
    You also called someone else patronising in another thread. Interesting, although your position on that diminishes now
    I avoid it where I can now. Well thanks for saving the trees!You're welcome. I was thinking more "save my eyes"
    Plus, books can be read where you might not want to take a PC or other electronic device, or it isn't practical. I quite enjoy curling up on the sofa with a book, or in the summer, lounging around the garden with one. I feel sorry for anyone that goes into their garden to read the printed version of the VM spec. If i'm in my garden I'm meditating, not reading techy crap. I don't want to say "get a life" but I can't imagine spending my off-time (in an airplane or a garden etc.) reading tech stuff.You never read tech stuff out of work? That'll explain why you're so closed to new ideas, then. Personally, I find a judicious hour here and there reading tech stuff at home goes a long way, since I don't really have time to digest a book at work. I find time to meditate, too, thanks. It's called balance, and if it's good enough for the universe, it's good enough for me. Cockburn isn't particularly techie, anyway. I used to have your attitude - work is work, and it stays there - and got nowhere, and eventually realised I hated my job. A teenie amount of extra-curricular work, and my income has virtually doubled in the space of a couple of years, and I don't have to worry about doing jobs I hate any more. Call me an idiot if you like, but that sounds like a worthwhile investment to me
    I also like having a visible collection of stuff I supposedly know about. Looking at my library of tech books is a nice A-Z of where my career has been so far. I've got a Safari account, but it's nice to have something tangible for your moneyYou tree killer!!! How could you?! :)Because I am actively seeking to increase my carbon footprint, and this is a nice obtuse way of doing it

  • A way to force gc for the JVM automatically/programatically

    Hi,
    I understand how to force a garbage collection for the JVM in the weblogic console
    manually, but I am looking for a way of setting it to do a gc autmatically
    for the JVM at set intervals.

    Ahh...exactly what I am looking for...the command line admin commands will do the
    trick...Thank you.
    <[email protected]> wrote:
    Greetings,
    I certainly think its not a very good idea to be calling System.gc()
    directly.
    you could do it by calling the JMX Mbeans exposed by
    WLS.
    You could programatically invoke thos MBeans (refer tothe WLS docs about
    MBeans..)
    Or to give you an example you could do it from command line as :
    rem Following command to get the Free Heap
    java weblogic.Admin -url %1 -username system -password xxx GET -pretty
    -type
    JVMRuntime -property HeapFreeCurrent
    rem Following command to get the Current Heap
    java weblogic.Admin -url %1 -username system -password xxx GET -pretty
    -type
    JVMRuntime -property HeapSizeCurrent
    rem Following command to run GC
    java weblogic.Admin -url %1 -username system -password xxx
    INVOKE -pretty -type JVMRuntime -method getAttributeStringValue runGC
    "Mark Officer" <[email protected]> wrote in message
    news:[email protected]..
    To answer your question, I am trying to measure what the steady stateof
    memory
    usage is per user. This is not for a production system or tuning.
    Reg/ the System.gc()...I am aware this method, but how would I do thisgc
    for
    the weblogic java instance? Maybe this is my own ignorance of Java.
    Rob Woollen <[email protected]> wrote:
    You could do this by writing a class that uses the timer service to
    receive periodic callbacks. In the callback handler, call System.gc();
    That being said, why do you want to do this? If anything this will
    most
    likely decrease your performance.
    -- Rob
    Mark Officer wrote:
    Hi,
    I understand how to force a garbage collection for the JVM in the
    weblogic
    console
    manually, but I am looking for a way of setting it to do a gc
    autmatically
    for the JVM at set intervals.

  • What is the difference between the JVM and JRE?

    The reason I ask is becuase I have heard of conflicting JVM if you attempt to keep more than JDK on your comp. I don't know if I unistalled the JVM, so that is why I am asking.

    There was a little discussion about this some time ago:
    http://forum.java.sun.com/thread.jsp?forum=54&thread=177864
    Basically, it seems that the JRE is the JVM plus some support classes.
    When you install the JDK or SDK as it is now known, you almost certainly also installed the latest JRE (I forget whether there is an option of whether to do so).
    If you are planning to remove an old JRE or JDK it is best to do so before installing the new one. If you haven't, and you aren't getting conflicts, maybe it's best to leave well alone if you can afford the disk space.

  • Restarting the JVM vs. Restarting the Application

    I am in a disagreement with someone as to whether or not the JVM should be restarted every time a java web application is installed on a server.
    I say for the sake of better safe than sorry just restart the JVM and be done with it.
    additionally there are issues concerning the way the class loaders are handled inside the application(parent last) and the caching of the external configuration files at application startup.
    Can anyone tell me why I would not want to restart the JVM every time? (assuming my application is the only one running on that JVM)
    Thanks,

    The instrumentation buffer was enabled in J2SE 1.4.2 so you need to be running 1.4.2 or 5.0 for the jvmstat tools to work.

Maybe you are looking for

  • How do you retrieve a Hard Drive on a mac OSX?

    ok, here goes recently my Mac OSX froze so i immediately turned it off , so when i turned it back on the loading screen had a file with a Question mark on it, then i went to my room to get my Mac OSX installer Disc and i put in disc one and waited fo

  • Static methods in Transfer Objects

    Hi all, I have a doubt about Transfer Object: Is it possible to have a static method (or field) inside a Transfer Object returned from a Session Bean to a Client ? Many thanks in advance, Moreno

  • I get unwanted duplicate lines when editing the data content of my JTable

    I have created an editable JTable (filled with data from an SQL) with a modified instance of AbstractDataModel. I have a phenomenon that I cannot explain nor fix: each time I edit a data field in the JTable and press ENTER or leave the field, the edi

  • G5 iMac as a monitor?

    My non-Intel iMac G5 is showing its age. Though fully functional, I find a need for an Intel based system to take advantage of newer software and Snow Leopard. Is there a way to use the iMac as a monitor for use with a Mac mini?

  • Rescue CD UEFI

    hello,I am doing a follow up of the threat https://community.f-secure.com/t5/Security/Rescue-CD-scanning-failed/td-p/33171   I have a computer that is only able to boot with UEFI.it seems impossible to boot the rescue CD as it is only for BIOS... is