Is the JVM the saftest?

dear all,
can i ask u to do me a favor to help me find a part of example malicious source code that is still able to execute despite Java�s security measures cause i need it as a example in my report. i can't find any on google. thanks so much.

The first poster alluded to the answer - the AWT API loads native code into the VM which receives events from the operating system (actually - it does ALL the GUI stuff) and when an event is received the native code notifies the Java AWT library which sends the event to your class. So, no, there is no special binding between the Java VM and the java.awt.Event class, but the VM is certainly "aware" that these classes exist.
Your reasoning for working with 1.0 events doesn't make any sense. It is a poor event model and not even cleanly designed. Using the event listener model is much more object oriented and easy to implement, and besides working with the older model doesn't really benefit you in any way.

Similar Messages

  • 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

  • Which Java API could check the type of Operating System the JVM is running?

    Does anyone know which Java API could check the type of Operating System the JVM is running?
    thanks a lot!

    check out System class.
    regards
    shyamAnd specifically, the getProperty() method.
    - K

  • 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.

  • How to run a java program in the JVM of an already running program?

    As far as I know about JVM, each time we run a program a separate instance of JVM is created where the program runs. Correct me if I am wrong.
    Is there any way for another program to execute itself in the same JVM?
    Currently I am working on JFCUnit which is a tool used to automate swing applications. I am trying to automate JConsole.
    If I open "JConsole.exe" through a program and then try to get the handles using JFCUnit, things are not working.
    If I use JConsole.jar in JDK/lib and create a new instance of JConsole and then try to get the handles using JFCUnit, I am able to proceed with automation.
    But here comes the problem :-
    The application which needs to be automated through JConsole requires it to be started with few arguments, which is as follows:
    %JDK_HOME%\bin\jconsole -J-Djava.class.path=%CLASSPATH% -J-Dcom.sun.management.jmxremote.ssl=false -J-Dcom.sun.management.jmxremote.authenticate=true -J-Djmx.remote.protocol.provider.pkgs=oracle.oc4j.admin.jmx.remote "service:jmx:rmi://localhost:23791"So this problem can be solved in two ways,
    Either
    1. JFCunit could be made to recognize the JConsole.exe which would be running is a different JVM.
    OR
    2. JConsole.jar to be used in a way so that it takes the required arguments, hereby an instance of JConsole would be created that too in the same JVM as that of the program.
    I am more interested in the first solution as it would definitely be helpful in other projects as well.
    Please let me know if any other solution is possible.
    Any kinda solution is appreciated :)
    Thanks in advance.

    Give a look at Terracota.
    http://www.terracottatech.com/

  • What's in the JVM Process's Memory Space?

    Hello
    I'm noticing the following behavior on an NT system. On
    application startup, I see
    Total Heap 9 MB
    Used Heap 5.5 MB
    java.exe memory (from NT Task Manager) 36 MB
    After a "login" operation which loads a few more
    classes:
    Total Heap 12.5 MB
    Used Heap 8.2 MB
    java.exe memory (from NT Task Manager) 53 MB
    Heap memory leaks have been ruthlessly suppressed
    (thanks to OptimizeIt and careful programming). The
    behavior I do not understand is that the NT process
    (java.exe) increased in size by 17 MB when the Java
    heap increased by only 3 MB. The .jar file in which the
    application resides is less than 1 MB, so this 14 MB
    growth can not be attributed to new classes being
    loaded.
    Does anyone know what is going into the process
    memory space of java.exe? It tends to grow larger
    and larger.
    Should I even care? Do I want a large allocation of
    process memory for java.exe, or will that hamper
    performance of machines with less physical memory?
    Posts on related topics in this forum have sometimes
    advocated allocating a lot of memory to the JVM with
    -X options.
    Thanks

    Hello
    I am facing exactly the same problem on NT. However, on 2000 Server this problem doesn't seem to exist. Are you, by any chance, using JNI? We are extensively using JNI in our Servlets and found that there is definitely some momory leak there. We could not figure out any substantial leak at Java end. In NT's "Task Manager" java.exe is always listed first and very rarely the memory usage seems to come down. On 2000 Server the performance is far better.
    Please visit this link:
    http://forum.java.sun.com/thread.jsp?forum=33&thread=211330
    Regards
    Manish Bhatnagar

  • How to find out the JVM thread that is consuming high CPU

    I am using WL 10.3, JRockit JVM on Linux. I have taken thread dumps. How to find out the JVM thread that is consuming high CPU?
    I know how to map it Sun JVM on Solaris. I haven't done in on JRockit so far. Please advise.

    Check out some of Marcus Hirt's blog entries for details about how to use JRockit Mission Control. It's a very nice tool that should provide a lot of insight:
    http://blogs.oracle.com/hirt/

  • Optimization of the JVM memory - Garbage Collector

    Hi ,
    Just a question about JVM memory management.
    There is memory limitation of memory usage limitation (1.6M) in JVM.
    Is there any possibility to use "Garbage collector" mechanism to optimize the memory usage?
    Or any suggestions for the JVM memory optimization?
    Thanks a lot!!!

    nicolasmichael wrote:
    Hi,
    the "memory limitation" does not have anything to do with garbage collection, but with the address space your operating system provides. On a 32bit operating system, your virtual address space is limited to <= 4 GB, depending on your operating system (for example 1.something GB on Windows and 3.something GB on Solaris). No.
    Windows 32 bit has a 2 GB application space and can be configured to allow a 3GB space.
    The Sun VM does not allow more because of the way that the executable is linked.
    [http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4358809]

  • 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

  • Problem in the jvm running in OS2 operating system

    Friends,
    It's a very urgent need for me.
    Please help me to solve this problem.
    I have a client server architecture based on RMI.
    The server runs in windows(jdk 1.4.2)
    and the client runs in OS2 (jdk 1.1.8). (we have no other choice but to use this jvm. forgive me please).
    The server is used to upload and download files to the client.
    That all works fine.
    But as part of my application, I should explore the files in the remote client.
    But the jvm in the OS2 is not returning the file.lastModified() correctly.
    It is displaying one hour less than the actual date.
    I just get the last modified date like this
    Date modDate = new Date(myFile.lastModified());
    But it is always returning one hour less than the actual date.
    I've checked the date and time in the client machine.
    It's same as that in the server.
    Is that a bug ....?
    Plz help me..guys.
    regards,
    james selvakumar

    The server runs in windows(jdk 1.4.2)
    and the client runs in OS2 (jdk 1.1.8). (we have no
    other choice but to use this jvm. forgive me
    please).Forgive? No, but may I extend my condolences?
    But it is always returning one hour less than the
    actual date.Wild guess - is it possible that your system clock is on a standard time and that this is the filestamp being picked up, but that you've now moved onto daylight savings time so that the time reported by other applications is an hour out?
    It just seems like a bit of a coincidence that the US (I think) goes onto daylight savings this weekend and that the UK did last weekend...
    Sorry I can't help beyond that suggestion of a possible explanation; I don't have an OS/2 build around any more (Hallelujah!)
    Dave.

  • How to get the list of instanciated object in the JVM ?

    Hi,
    Is there a way to build a HashMap containing:
    key: class name
    value: array of Objects references containing all instance of this class name
    Thank's
    John

    With others words, this questions were here to investigate if there is a tricky way to write a pure java code to that can identify and references objects living in the heap (debugging and performance purpose).
    Yeap, somewhere this question is not interesting as there is no pointers in java, so no way to read a single bit in the heap.
    I were just hopping that somewhere there is a way to enumerate the object living in the heap, either through a hashmap containing the reference of these object and managed by an obscur java.lang class or a kind of class that will load "manually" any application to troubleshoot (much more realistic as such hashmap should exist and by managed by the jvm only).
    Now, using jni, is it possible to access in a very simple way this "jvm hashmap" ?

  • Urgent!! i need help on invoking the JVM from C++

    Hi.. I have tried invoking the JVM and calling a java class through c++ but all i get is "can' find class java.lang.NoClassDefFoundError (Wrong class path?)
    anyone has any ideas as to what i need to do.. i have set the path and classpath variables to my <jre>\bin\classic and <jre>\bin
    here is the code..
    //MyCApp2.cpp//
    #include <windows.h>
    #include <stdio.h>
    #include <jni.h>
    #define MAIN_CLASS "myApp1"
    int main(int argc, char** argv)
    JNIEnv               *env;
    JavaVM               *jvm;
    JDK1_1InitArgs     vmargs;
    jint               rc;
    jclass               cls;
    jmethodID          mainId;
    // get classpath env setting
    char* szClasspath = getenv("CLASSPATH");
    vmargs.version = 0x00010001; // version 1.1
    int temp = JNI_GetDefaultJavaVMInitArgs(&vmargs);
    // the classpath returned by JNI_GetDefaultJavaVMInitArgs is wrong
    vmargs.classpath = szClasspath;
    printf("\nclasspath ,%s\n\n",vmargs.classpath);
    rc = JNI_CreateJavaVM(&jvm, (void**)&env, &vmargs); // create the jvm
    if(rc <0 )
         printf("Can't create Java VM ,%d\n",rc);
         return 1;
    printf("Passed the CreateVM Stage");
    // load the class containing the static main ()method
    cls = env->FindClass(MAIN_CLASS);
    if ( cls == 0 )
         printf("Could not find class %s\n",MAIN_CLASS);
         return 1;
    // find main method
    mainId = env->GetStaticMethodID(cls,"main","([Ljava/lang/String;)V");
    if (mainId ==0 )
         printf("Could not find main()\n");
              return 1;
    env->CallStaticVoidMethod(cls,mainId, 0); // call main()
    jvm->DestroyJavaVM(); // kill jvm
    return 0;

    You say you set your classpath to jre\bin and jre\bin\classic; did you include the path to MyApp.class?
    Perhaps you forgot "."?

  • Is the JVM aware of some classes?

    Hello,
    I am digging into java events. I decided to start with the Java 1 Event model. (I know it is deprecated and I should not use it in a production environment).
    I built a simple class that extends "java.awt.Frame" and overrides the "handleEvent" model.
    It works fine and I assume the event generated comes from the JVM (Am I right?).
    My question is: Is the JVM aware of the Event class? If not then how does it passes the Event object into the handleEvent method?
    Thanks in advance,
    Balteo. (This is repost)
    Here is my class
    import java.awt.*;
    import java.awt.event.*;
    public class CaptureTouches extends Frame {
    CaptureTouches(){
    this.show();
    this.pack();
    public boolean handleEvent(Event e){
    switch(e.id){
    case Event.KEY_ACTION:return true;
    //catching some events/keys
    switch(e.key){
    case Event.F1:System.out.println("F1");return true;
    case Event.F2:System.out.println("F2");return true;
    case Event.F3:System.out.println("F3");return true;
    case Event.F4:System.out.println("F4");return true;
    case Event.F5:System.out.println("F5");return true;
    case Event.F6:System.out.println("F6");return true;
    case Event.F7:System.out.println("F7");return true;
    case Event.F8:System.out.println("F8");return true;
    case Event.F9:System.out.println("F9");return true;
    case Event.F10:System.out.println("F10");return true;
    case Event.F11:System.out.println("F11");return true;
    case Event.F12:System.out.println("F12");return true;
    default: System.out.println("Other event");return true;
    public static void main(String[] args){
    CaptureTouches ct = new CaptureTouches();
    ******************************

    It works fine and I assume the event generated comes from the JVM (Am I right?).No, it's wrong. All events are generated by AWT (usually in peers).
    May be you should read some tutorial about AWT (there was one on Sun's site).

  • How do we determine the JVM encoding of an R/3 system sending idoc to EAI?

    Hi experts,
    can you please help me find out the JVM encoding or our R/3 system. We are currently sending an IDOC via RFC connection to webmethods. the recieving side is not able to process special characters like the TradeMark (TM) superscript, and they are suspecting that the JVM encoding is not in sych. I have search already to find this out in the R/3 system but have not found any clue. I am a bit skeptical though, this is the first time i heard that JVM is being used on RFC.
    Thanks in Advance!
    Regards,
    Alden

    Ken, take a look at the value being mapped to the E1EDK01-BSART field.  Is it 'CRME' or 'INVO' or other?  This value controls the setting of the variable 'bsart_cremem' and subsequent debit/credit handling from there in the IDOC process code.

  • Can you alter the JVM heap space size for all Windows users?

    Hi,
    I have used the "-Xmx" option to increase the Java Heap space for my Java application. This works fine, but all other users on my system still have the default heap space setting and I want them to have use an increased heap space as well. I cannot alter the JVM heap space at the command line since our Java application is started via an ActiveX bridge from a Windows application.
    So far I have found one potential, but not really good solution; I have figured out that I can copy the deployment.properties file containing the altered JVM heap setting from the "Application Data\Sun\Java\Deployment" folder in my own Windows "Documents and Settings" folder to the same folder of another user. However, this is not a really good solution since we are running a system with about 60 users and often new user accounts are created and sometimes people forget to copy the deployment.properties file.
    Does anyone know a better solution. I've tried to search the Windows registry or the JRE files for a default JVM heap space setting but I can't find it anywhere. Still on some systems the default is 64Mb and on others 96Mb, so I guess there must be a setting somewhere?

    The following is my eclipse.ini:
    -vmargs
    -Xms256m
    -Xmx512m
    -Dfuego.fstudio=true
    -DprodMode=preProduction
    -Dbea.home=C:\bea\albpm6.0\studio\..
    -Djava.endorsed.dirs=""
    -XX:PermSize=256M
    -XX:MaxNewSize=256M
    -XX:MaxPermSize=1024M
    but i think this configuration just effect the eclipse, not embed bpm engine. I also change the engine preference, increase the heap size, but engine crash as before.
    I want to change the jvm from jdk to jrockit, i hope any suggest.

Maybe you are looking for

  • Sudden Display issues in Firefox from Dreamweaver-built pages

    Hi, first time posting and a novice at Dreamweaver and web design so please bare with me. I'm an IT administrator for a small charity company and they decided to ask me to build them a website, I bought Dreamweaver in University and had a small try w

  • Outlook calendar sync problem

    I have a BB8310 that has given me great service for over a year.  Two days ago the calender stopped synchronizing  with the Outlook calendar.  When syncing the device, the address list, task list, memo pad all sync perfectly.  The calendar does not s

  • Aironet 1300 Series

    Hello, I have 3 of these devices... one is configured as the root... the other two are non-root.... All PC's on the non-root devices can communicate with the root device and other PC's connected via the LAN of the root device....but the non-roots can

  • SQL Developer will not start - no errors, no splash, nothing

    Good morning! My company no longer has licenses to use Toad, so all new hires here are instructed to install SQL Developer in order to connect to our Oracle DBs. I happen to have worked here long enough to have Toad, but also have SQL Developer (w/JD

  • Archiving Document Factory output to CMOD

    Hi There, In my Documker 12.3 Factory implememtation I want real time archival to be done on CMOD (Content Manager On Demand). I am not sure if this is possible and if so how? lots of question is arising.... if the the archival will be synchronous, w