CAB in JVM Sun

Hi,
Is it possible to run a CAB applet in JVM Sun? How can I do this?
Thanks

And a little more info: Sadly, I'm stuck working on a project which is required to support the MS JVM, and so I've got some very recent info and insight on this issue.
1) The MS JVM is Java version 1.1.4. Therefore it's very very old. Plus full of bugs and such.
2) Code signing for signed applets done the way for the plugin (Sun's JVM) will not work on the MS JVM. It's a totally separate incompatible process for that.
3) The MS JVM was slated for retirement in Sept. 2004. That has been pushed back now to Dec 2007. That doesnt' mean it will stop working then. You cannot get the MS JVM to install on a machine anymore. Any Windows OS older then XP service pack 1a still has it, and any Windows OS XP SP1a or newer that was upgraded from a lower version still has it. But a new install from a Widnows XP SP1a or higher will NOT have it. So buy a new PC today and you shouldn't get it, and you can't get it separately.
It is probably never going to be removed from systems that have it, although MS might end up providing a removal tool. I dont' know if they do, but I don't think you can easily remove it.
All in all, if you have a choice, choose the Java plugin. Also remember that most Macs still run Java 1.4 and the JVM comes from Apple with the OS. The newest version, 10.4, has 1.5 now, but I've heard there's issues.

Similar Messages

  • Explorer's Microsoft JVM - sun's JVM plugin

    Hi All,
    I have had to renew verisign's certificate of a signed applet. I have bought a sun's signer certificate to sign my applet. I have done all the work an it has worked perfectly.... with sun's jvm plugin for Internet Explorer !!! I have signed a jar file but M$ wants a signed cab...
    How can I (if I can) sign the applet, using sun's jdk, to make it functionally with M$ JVM ???
    It's very important (and urgent) for me because I have bought a certificate and maybe I have maked a mistake...
    Thanks in advice,
    David.

    I might be missing something, but I use a single .pfx file certificate for signing using Microsoft's signing tool and Suns' jarsigner. There's a code sample over at http://forums.java.sun.com/thread.jsp?forum=2&thread=4210 that lets you load pkcs12 certificates into the Java keystore.
    Hope this helps

  • Microsoft JVM & Sun JVM

    I have the Sun JVM 1.3 and 1.4 installed on my computer.
    IE is set to use the sun JVM (1.4) for the <APPLET> tag (in tool->Internet Options->Advanced).
    How can I launch an applet using the Microsoft JVM ?
    I have try something like:
    <object classid="08B0E5C0-4FCB-11CF-AAA5-00401C608500"
    width=150 height=150>
    <param name=codebase value="http://www.blabla.com/here">
    <param name=code value="JavaClass.class">
    </object>
    But my IE keep craching.
    Any help ?

    Well in fact I have found a solution, but I don't know if it's full proof, does somebody have any idea ?
    I use:
    <object classid="java:MyCode.class"
    codetype="application/java"
    width=my_width
    height=my_height>
    <param ....>
    </object>

  • JVM Sun vs. IBM

    HI,
    Unfortunatly we have an environment where the app-server (WLS 7.0) is
    running on a AIX IBM box with IBM's JVM and the (fat-)clients are on NT
    having their Sun JVM. Both JVM work quite well except some incompatibilties
    e.g. the different implemented BigDecimal class (whitch can be serialized
    betwean NT and AIX but the opsite way round it doesn't work).
    As somebody a solution to this, Changeing the JVM on our NT boxes is not an
    option.
    Regards
    Tomy

    Maybe have a look at the System properties for instance "java.vendor"...

  • Identifying JVM - Sun or IBM

    I am using some third party tool that expects to set a system property depending on the JVM. How can we identify the JVM in which the program is executing?

    Maybe have a look at the System properties for instance "java.vendor"...

  • Superuser without privileges installing Sun One Studio in Debian Linux

    i am trying to install Sun One Studio in my Debian Linux and when i launch the setup application it tells me that i must log in as superuser to install. Well, the thing is that i launch the installer as root, but the program doesn't seem to think the same :)
    Surprisingly, the log file doesn'l show any related error; it only shows a warning about some widgets... so this seems to be a simple bug in the installer.
    Here's the log:
    file type: 5
    file id: 0
    length: 1009
    offset: 624320
    file name: Verify.jar
    file type: 0
    file id: 1
    length: 145
    offset: 625329
    file name: instructions.txt
    file type: 2
    file id: 2
    length: 728
    offset: 625474
    file name: launch.txt
    file type: 1
    file id: 3
    length: 347
    offset: 626202
    file name: path.jvm
    file type: 1
    file id: 4
    length: 542
    offset: 626549
    file name: sunjdk14.jvm
    file type: 1
    file id: 5
    length: 584
    offset: 627091
    file name: sunjre14.jvm
    file type: 1
    file id: 6
    length: 485
    offset: 627675
    file name: sunjdk131.jvm
    file type: 1
    file id: 7
    length: 461
    offset: 628160
    file name: sunjre131.jvm
    file type: 1
    file id: 8
    length: 423
    offset: 628621
    file name: blackdownjdk131.jvm
    file type: 1
    file id: 9
    length: 418
    offset: 629044
    file name: blackdownjre131.jvm
    file type: 1
    file id: 10
    length: 548
    offset: 629462
    file name: sunjdk13.jvm
    file type: 1
    file id: 11
    length: 432
    offset: 630010
    file name: blackdownjdk13.jvm
    file type: 1
    file id: 12
    length: 433
    offset: 630442
    file name: blackdownjre13.jvm
    file type: 1
    file id: 13
    length: 461
    offset: 630875
    file name: ibmjdk13.jvm
    file type: 1
    file id: 14
    length: 468
    offset: 631336
    file name: ibmjre13.jvm
    file type: 1
    file id: 15
    length: 449
    offset: 631804
    file name: sunjre13.jvm
    file type: 6
    file id: 16
    length: 210451841
    offset: 632253
    file name: s1s5u1se-linux-en.jar
    Finding a JVM
    Initiating JVM search based on hints...
    Searching for Sun Microsystems Java Development Kit (JDK) 1.4.X for Linux in PATH variable using platform hints
    Searching for Sun Microsystems Java Development Kit (JDK) 1.4.X for Linux in PATH variable using path hints
    Searching for Sun Microsystems Java Development Kit (JDK) 1.4.X for Linux in PATH variable using platform specific JVM Path hints
    Checking JVM at /mnt/local/j2sdk1.4.2_04/ which was resolved from the platform JVM path /mnt/local/j2sdk1.4.2_04/bin
    Verifying JVM at /mnt/local/j2sdk1.4.2_04/bin/java
    for JVM: Sun Microsystems Java Development Kit (JDK) 1.4.X for Linux in PATH variable
    Executing launch script command: "/mnt/local/j2sdk1.4.2_04/bin/java" -cp "/tmp/isjbAAjZc/Verify.jar" "Verify" java.vendor java.version in working directory /mnt/local/lalala/.
    Output from the launch script execution
    StdOut:
    1739021872
    Sun Microsystems Inc.
    1.4.2_04
    ErrOut:
    Found matching JVM at /mnt/local/j2sdk1.4.2_04/
    Matching JVM home is /mnt/local/j2sdk1.4.2_04/
    Matching JVM file is /tmp/isjwSPfK2
    Executing launch script command: "/mnt/local/j2sdk1.4.2_04//bin/java" -cp "/tmp/isjxGApzS/s1s5u1se-linux-en.jar" -Dtemp.dir="/tmp" -Dis.jvm.home="/mnt/local/j2sdk1.4.2_04/" -Dis.jvm.temp="0" -Dis.media.home="/tmp/isjxGApzS/s1s5u1se-linux-en.jar" -Dis.launcher.file="/mnt/local/lalala/./s1s5u1se-linux-en.bin" -Dis.jvm.file="/tmp/isjwSPfK2" -Dis.external.home="/mnt/local/lalala/." run in working directory /mnt/local/lalala/.
    Output from the launch script execution
    StdOut:
    ErrOut:
    Warning:
    Name: scrollbar
    Class: XmScrollBar
    The scrollbar page increment is less than 1.
    Warning:
    Name: scrollbar
    Class: XmScrollBar
    The scrollbar page increment is less than 1.
    Any idea? thanks for reading!

    The error you report is not causing the problem.
    Try : http://swforum.sun.com/jive/thread.jspa?forumID=128&threadID=29443
    -Alexis

  • Non-heap memory area spring leak  in JVM 1.50_6

    Please let me question though it doesn't understand be good from this topic.
    A problem occurs when testing as follows.
    The problem is to generate memory leak in non-heap area.
    %java CconnectTest2 129.24.34.68 130.104.10.50 6101 5000 185000 100
    (%java -server CconnectTest2 source-ipaddress destination-ipaddress src-port dst-port thread-count)
    CconnectTest2.java
    import java.io.IOException;
    import java.net.InetAddress;
    import java.net.InetSocketAddress;
    import java.net.Socket;
    import java.net.SocketAddress;
    import java.net.SocketTimeoutException;
    import java.net.UnknownHostException;
    import java.nio.channels.IllegalBlockingModeException;
    import java.util.Calendar;
    public class CconnectTest2 {
         * @param bind_ip connect_ip connect_port wait_cntconnect_TIMEOUT thread_cnt
         public static void main(String[] args) {
              if ((args[0].equals("")) || (args[0]==null)) {
         System.err.println("bind_ip*");
         return ;
              if ((args[1].equals("")) || (args[1]==null)) {
         System.err.println("connect_ip*");
         return ;
              if ((args[2].equals("")) || (args[2]==null)) {
         System.err.println("connect_port*");
         return ;
              if ((args[3].equals("")) || (args[3]==null)) {
         System.err.println("wait_cnt*");
         return ;
              if ((args[4].equals("")) || (args[4]==null)) {
         System.err.println("connect_TIMEOUT*");
         return ;
              if ((args[5].equals("")) || (args[5]==null)) {
         System.err.println("thread_cnt*");
         return ;
    String bind_ip          =args[0];
    String connect_ip     =args[1];
    int connect_port     =Integer.parseInt(args[2]);
    int wait_cnt          =Integer.parseInt(args[3]);
    int connect_TIMEOUT     =Integer.parseInt(args[4]);
    int thread_cnt          =Integer.parseInt(args[5]);
    System.out.println("bind_ip="+bind_ip);
    System.out.println("connect_ip="+connect_ip);
    System.out.println("connect_port="+connect_port);
    System.out.println("wait_cnt="+wait_cnt);
    System.out.println("connect_TIMEOUT="+connect_TIMEOUT);
    System.out.println("thread_cnt="+thread_cnt);
    int i=0;
    while( true ){
    i++;
    if( i<= thread_cnt){
         ConnectExe a = new ConnectExe(connect_ip,bind_ip,connect_port,connect_TIMEOUT,wait_cnt) ;
    a.start() ;
    try {
    Thread.sleep( 1000 ) ;
    } catch (InterruptedException ex) {
         System.out.println("thread_start[ "+i+"]");
    } else {
    System.out.println("thread_start OK"+thread_cnt);
         break ;
    while( true ){
    System.gc() ;
    try {
    Thread.sleep( 20000 ) ;
    } catch (InterruptedException ex) {
    int hour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY) ;
    int min = Calendar.getInstance().get(Calendar.MINUTE) ;
    int sec = Calendar.getInstance().get(Calendar.SECOND) ;
    Runtime run = Runtime.getRuntime();
    long freesize = 0 ;
    freesize = (run.maxMemory()-run.totalMemory())+run.freeMemory() ;
    if( freesize > 0 ){
    freesize = freesize/1024 ;
    System.out.println( "" + hour + ":" + min + ":" + sec
              + " HeepFreeSize:"+ freesize + " K"
    + " activeThread:" + Thread.activeCount() ) ;
    static public class ConnectExe extends Thread{
    String      serverAddress=null;
    String      bindip=null;
    int          port=6100;
    int          timeout=0;
    int          wait_cnt=0;
    public ConnectExe(String ne,String bind,int connect_port,int timeout,int wait_cnt ){
         this.serverAddress           = ne ;
    this.bindip                = bind ;
    this.port                     = connect_port ;
    this.timeout               = timeout;
    this.wait_cnt               = wait_cnt;
    public void run(){
    while( true ){
         SocketAddress socketAddress = null;
         Socket socket = null;
         try {
              socket = new Socket();
              socket.setKeepAlive(true);
              byte[] ip = InetAddress.getByName(this.serverAddress).getAddress();
              InetAddress addr = InetAddress.getByAddress(this.serverAddress, ip);
              if (bindip == null) {
                   socketAddress = new InetSocketAddress(addr, this.port);
              } else {
                   socketAddress = new InetSocketAddress(addr, this.port);
                   SocketAddress bindAddress = new InetSocketAddress(this.bindip, socket.getPort());
                   socket.bind(bindAddress);
              System.out.println( "connect:" + this.serverAddress ) ;
              socket.connect(socketAddress, this.timeout);
              socket.close();
              System.out.println( "close :" + this.serverAddress ) ;
              socket = null;
         } catch (UnknownHostException e) {
              System.out.println("This socket cannot be connected with the server(UnknownHostException) " + e.getMessage() ) ;
              if (socket != null) {
                   try {
                        socket.close();
                   } catch (IOException e1) {
                        System.out.println( e1.getMessage() ) ;
                   socket                = null;
                   socketAddress      = null;
         } catch (SocketTimeoutException e) {
              System.out.println("This socket cannot be connected with the server (SocketTimeoutException) " + e.getMessage() ) ;
              if (socket != null) {
                   try {
                        socket.close();
                   } catch (IOException e1) {
                        System.out.println( e1.getMessage() ) ;
                   socket                = null;
                   socketAddress      = null;
         } catch (IllegalBlockingModeException e) {
              System.out.println("This socket cannot be connected with the server (IllegalBlockingModeException) " + e.getMessage() ) ;
              if (socket != null) {
                   try {
                        socket.close();
                   } catch (IOException e1) {
                        System.out.println( e1.getMessage() ) ;
                   socket                = null;
                   socketAddress      = null;
         } catch (IllegalArgumentException e) {
              System.out.println("This socket cannot be connected with the server (IllegalArgumentException) " + e.getMessage() ) ;
              if (socket != null) {
                   try {
                        socket.close();
                   } catch (IOException e1) {
                        System.out.println( e1.getMessage() ) ;
                   socket                = null;
                   socketAddress      = null;
         } catch (IOException e) {
              System.out.println("This socket cannot be connected with the server (IOException) " + e.getMessage() ) ;
              if (socket != null) {
                   try {
                        socket.close();
                   } catch (IOException e1) {
                        System.out.println( e1.getMessage() ) ;
                   socket                = null;
                   socketAddress      = null;
         } catch (Exception e) {
         System.out.println("This socket cannot be connected with the server (Exception) " + e.getMessage() ) ;
         if (socket != null) {
              try {
                   socket.close();
              } catch (IOException e1) {
                   System.out.println( e1.getMessage() ) ;
              socket                = null;
              socketAddress      = null;
    try {
                             Thread.sleep( this.wait_cnt ) ;
                        } catch (InterruptedException e) {
    It leaks gradually when executing it for a long time.
    It makes the generation of the memory leak disregarding timeout error of the
    connection a problem.
    Is this a bug of JVM?
    Or, is it a problem of coding?
    Environment:
    JVM Sun JVM 1.5.0_6
    OS RedHat Enterprise Linux ES 3 update6 (kernel 2.4.21-37ELsmp)

    I was searching on Google for "java Calendar memory leak", and I ran across this post. Now, I haven't examined your code but I do see you make a lot of calls to getInstance() in java.util.Calendar, and I am having the same kind of issue as you are describing. So I took the Calendar class out (no more getInstances) and now the memory is still increasing but at a MUCH slower rate, and the CPU time is down drastically. I do not know if this is the cause because I haven't seen it documented, but it would be great if someone could confirm this for me. Maybe try removing the Calendar getInstances and find another way to do it, like using System.getCurrentMillis and working from there to get the hours (that's what I did.)
    Hope this helps,
    Elijah

  • Problems to install JVM in Windows  NT 4.0

    Hi;
    My problem is when star setup of JVM last version in windows NT with Internet Explorer 5.50 y recive error of " Unit h:\" and when acept the message the instalation finish but the JVM SUN isn�t installed.
    Can Help me , please.
    Thanks

    We've got Jdev versions including latest running on NT fine.
    Make shortcut of where you installed Jdev/jdev/bin/jdevw.exe and
    copy that shortcut to your desktop. That's it, beyond unziping "with directory's"
    onto some drive you have space on.
    Maybe Jdev's dir structure was lost when you unziped, or you're launching the
    wrong bin/<thing> ??
    Good luck,
    curt

  • Help needed! JVM could not be found...

    Hi. There is a problem occured when I decided to install Sun One Studin(Sun Forte) or whatever it called to create J2ME applications. First of all I downloaded ffj_me_win32 which is Sun One Studio, then I started the installation, and the message showed something like this: "NO SUITABLE JVM COULD BE FOUND, PLEASE TRY -is:javahome <JAVA HOME DIR>", I get to the DOS and typed: ffj_me_win32 -is:javahome C:\Java\jdk1.5.0_06\bin , but I get the same result. What can you recomend me to do.
    Kings regards Max.
    P.S.
    Environment Variables:
    JDKHOME=C:\Java\jdk1.5.0_04\bin
    JREHOME=C:\Java\bin
    PATH=%JDKHOME%;%JREHOME%,%OTHERSTAFF%
    java -version gives 1.5.0_06
    java -jre-no-strict-search gives Could not create Java Virtual Machine

    Here is an error log I found. It looks like it is a version problem. Am I right?
    Finding a JVM
    Initiating JVM search based on hints...
    Searching for Sun Java Development Kit (JDK) 1.4.X by Sun Microsystems using platform hints
    WARNING: Invalid platform hint: The system cannot find the file specified.
    Searching for Sun Java Development Kit (JDK) 1.4.X by Sun Microsystems using path hints
    Checking path hint C:\j2sdk1.4.0
    Verifying JVM at C:\j2sdk1.4.0\bin\java.exe
    for JVM: Sun Java Development Kit (JDK) 1.4.X by Sun Microsystems
    C:\j2sdk1.4.0\bin\java.exe does not exist
    Searching for Sun Java Development Kit (JDK) 1.4.X by Sun Microsystems using platform specific JVM Path hints
    Searching for Sun Java Development Kit (JDK) 1.3.1 by Sun Microsystems using platform hints
    WARNING: Invalid platform hint: The system cannot find the file specified.
    WARNING: Invalid platform hint: The system cannot find the file specified.

  • Spawning too many JVMs

    I'm trying to run Java on a RedHat 7.1 server...
    My problem is that every time I start up a JVM, it starts a whole bunch of other JVMs that don't seem to be doing anything except sitting there and taking up memory. I've seen it spawn between 8 and 15 JVMs - so many that the rest of my system starts experienceing out-of-memory errors. I've never seen this before.... its definatly some weird behavior.
    I initially came across this problem when trying to run JBoss.... but then I wrote up a 10 line test program, and that had the problem too. I've tried this with a varieto of JVMs - Sun's Java 1.4.2 and 1.5.0, and also IBM's Java 1.4.2..... same result every time. I'm pretty stumped.
    Has anyone ever seen this before? Any ideas on what could be causing it?
    Thanks,
    Bobby

    This is the same jvm. Linux is quite braindead in the way it handles threads - it kind of 'emulates' threads by having separate processes which share executable/data memory. Please note that all of them have exactly the same memory usage - strange coincidence, isn't it ?
    This just means that your program has 8-15 threads, most of them spawned by jvm itself (compilation thread, gc thread, finalization thread, maybe some RMI stuff, AWT event thread, etc). You can do a stack dump to see all the threads.
    As far as your real problem (memory) is concerned, it is perfectly possible that you application is using too much memory. Try using -Xmx option to limit it to a number you know - relying on default is quite dangerous, as it changes between jvm versions, processors and systems. Are you running into OOM problems only with JBoss, or also with your 10 line program ? I except that 10-line program is harmless and it is only broken way in which 'top' interacts with linux threading made you worry. JBoss on the other hand is perfectly able to use any amount of memory you allow - J2EE containers are known memory/performance hogs themselves, plus it is very easy to leak memory with incorrect http/EJB session handling, etc.

  • Jvm-java virtual machine

    Hai iam new to this forum and as well i just started to learn java iwant to know in brief about JVM
    i think it may be silly question but as i am bigginer to java kindly expect reply

    georgemc wrote:
    faustofrancis wrote:
    A Java Virtual Machine (JVM) is a set of computer software programs and data structures which use a virtual machine model for the execution of other computer programs and scripts. The model used by a JVM accepts a form of computer intermediate language commonly referred to as Java bytecode. This language conceptually represents the instruction set of a stack-oriented, capability architecture.
    Java Virtual Machines operate on Java bytecode, which is normally (but not necessarily) generated from Java source code; a JVM can also be used to implement programming languages other than Java. For example, Ada source code can be compiled to Java bytecode, which may then be executed by a JVM. JVMs can also be released by other companies besides Sun (the developer of Java) -- JVMs using the "Java" trademark may be developed by other companies as long as they adhere to the JVM specification published by Sun (and related contractual obligations).
    The JVM is a crucial component of the Java Platform. Because JVMs are available for many hardware and software platforms, Java can be both middleware and a platform in its own right &#151; hence the expression "write once, run anywhere." The use of the same bytecode for all platforms allows Java to be described as "compile once, run anywhere", as opposed to "write once, compile anywhere", which describes cross-platform compiled languages. The JVM also enables such unique features as Automated Exception Handling which provides 'root-cause' debugging information for every software error (exception) independent of the source code.
    The JVM is distributed along with a set of standard class libraries which implement the Java API (Application Programming Interface). The virtual machine and API have to be consistent with each other[dubious &#150; discuss] and are therefore bundled together as the Java Runtime Environment.
    Execution environment
    Programs intended to run on a JVM must be compiled into a standardized portable binary format, which typically comes in the form of .class files. A program may consist of many classes in different files. For easier distribution of large programs, multiple class files may be packaged together in a .jar file (short for Java archive).
    The JVM runtime executes .class or .jar files, emulating the JVM instruction set by interpreting it, or using a just-in-time compiler (JIT) such as Sun's HotSpot. JIT compiling, not interpreting, is used in most JVMs today to achieve greater speed. Ahead-of-time compilers that enable the developer to precompile class files into native code for a particular platform also exist.
    Like most virtual machines, the Java Virtual Machine has a stack-based architecture.
    Although the JVM was primarily aimed at running compiled Java programs, other languages can now run on top of it[1], such as:
    * Ruby, with JRuby
    * JavaScript, with Rhino
    * Python, with Jython
    * Common Lisp, with Armed Bear Common Lisp
    * Groovy
    * Scala
    [edit] Bytecode verifier
    A basic philosophy of Java is that it is inherently "safe" from the standpoint that no user program can "crash" the host machine or otherwise interfere inappropriately with other operations on the host machine, and that it is possible to protect certain functions and data structures belonging to "trusted" code from access or corruption by "untrusted" code executing within the same JVM. Furthermore, common programmer errors that often lead to data corruption or unpredictable behavior such as accessing off the end of an array or using an uninitialized pointer are not allowed to occur. Several features of Java combine to provide this safety, including the class model, the garbage-collected heap, and the verifier.
    The JVM verifies all bytecode before it is executed. This verification consists primarily of three types of checks:
    * Branches are always to valid locations
    * Data is always initialized and references are always type-safe
    * Access to "private" or "package private" data and methods is rigidly controlled.
    The first two of these checks take place primarily during the "verification" step which occurs when a class is loaded and made eligible for use. The third is primarily performed dynamically, when data items or methods of a class are first accessed by another class.
    The verifier permits only some bytecode sequences in valid programs, e.g. a jump (branch) instruction can only target an instruction within the same function or method. Because of this, the fact that JVM is a stack architecture does not imply a speed penalty for emulation on register-based architectures when using a JIT compiler. In the face of the code-verified JVM architecture, it makes no difference to a JIT compiler whether it gets named imaginary registers or imaginary stack positions that need to be allocated to the target architecture's registers. In fact, code verification makes the JVM different from a classic stack architecture whose efficient emulation with a JIT compiler is more complicated and typically carried out by a slower interpreter.
    Code verification also ensures that arbitrary bit patterns cannot get used as an address. Memory protection is achieved without the need for a MMU. Thus, JVM is an efficient way of getting memory protection on simple architectures that lack an MMU. This is analogous to managed code in Microsoft's .NET CLR, and conceptually similar to capability architectures such as the Plessey 250, and IBM System/38.
    [edit] Bytecode instructions
    Main article: Java bytecode
    The JVM has instructions for the following groups of tasks:
    * Load and store
    * Arithmetic
    * Type conversion
    * Object creation and manipulation
    * Operand stack management (push / pop)
    * Control transfer (branching)
    * Method invocation and return
    * Throwing exceptions
    * Monitor-based concurrency
    The aim is binary compatibility. Each particular host operating system needs its own implementation of the JVM and runtime. These JVMs interpret the byte code semantically the same way, but the actual implementation may be different. More complicated than just the emulation of bytecode is compatible and efficient implementation of the Java core API which has to be mapped to each host operating system.
    [edit] Secure execution of remote code
    A virtual machine architecture allows very fine-grained control over the actions that code within the machine is permitted to take. This is designed to allow safe execution of untrusted code from remote sources, a model used by Java applets. Applets run within a VM incorporated into a user's browser, executing code downloaded from a remote HTTP server. The remote code runs in a restricted "sandbox", which is designed to protect the user from misbehaving or malicious code. Publishers can purchase a certificate with which to digitally sign applets as "safe", giving them permission to ask the user to break out of the sandbox and access the local file system and network...
    [edit] C to bytecode compilers
    From the point of view of a compiler Java bytecode is just another processor with an instruction set for which code can be generated. The JVM was originally designed to execute programs written in the Java language. However, the JVM provides an execution environment in the form of a bytecode instruction set and a runtime system that is general enough that it can be used as the target for compilers of other languages.
    Because of its close association with Java the JVM performs the runtime checks mandated by the Java specification. This can make it technically difficult to translate C code (which is much more lax with regard to runtime checking) to the JVM and expect it to run without issuing any warnings.
    Compilers targeting many different languages, including Ada and COBOL, have been written.
    [edit] Licensing
    Starting with J2SE 5.0, changes to the JVM specification have been developed under the Java Community Process as JSR 924[2]. As of 2006, changes to specification to support changes proposed to the class file format (JSR 202[3]) are being done as a maintenance release of JSR 924. The specification for the JVM is published in book form,[4] known as "blue book". The preface states:
    We intend that this specification should sufficiently document the Java Virtual Machine to make possible compatible clean-room implementations. Sun provides tests which verify the proper operation of implementations of the Java Virtual Machine.
    Sun's JVM is called HotSpot. Clean-room Java implementations include Kaffe and IBM J9. Sun retains control over the Java trademark, which it uses to certify implementation suites as fully compatible with Sun's specification.
    [edit] See also
    * HotSpot, Sun's Virtual Machine
    * Da Vinci Machine, a starting Sun project aiming to prototype the extension of the JVM to add support for dynamic languages.
    * List of Java virtual machines
    * Automated Exception Handling
    * Common Language Runtime
    * Parrot virtual machine
    * Java bytecode
    * Class (file format)
    * Java performance
    * List of compilers
    [edit] Notes
    1. ^ Tolksdorf, Robert (2005). Languages for the Java VM. Retrieved on 2008-04-23.
    2. ^ JSR 924 &#150; Specifies changes to the JVM specification starting with J2SE 5.0
    3. ^ JSR 202 &#150; Specifies a number of changes to the class file format
    4. ^ The Java Virtual Machine Specification (the first and second editions are also available online)
    [edit] References
    * Clarifications and Amendments to the Java Virtual Machine Specification, Second Edition includes list of changes to be made to support J2SE 5.0 and JSR 45
    * JSR 45 &#150; Specifies changes to the class file format to support source-level debugging of languages such as JSP and SQLJ that are translated to Java
    [edit] External links
    * The Java Virtual Machine Specification
    * Java-Virtual-Machine.net - All about Java Virtual Machines!
    * List of languages which compile to the Java virtual machine.
    * A decade after Java arrived, there have been improvements in the runtime performance of platform-independent virtual-machine based software.
    * Kaffe.org - the Kaffe project
    * JamVM - The Jam Virtual Machine
    * The lean, mean, virtual machine - An introduction to the basic structure and functionality of the Java Virtual Machine
    * Java Glossary - installing Java useful tips for installing Java for users and developers
    * Test your Java Virtual Machine
    * A list of Java VM-s used in mobile devices
    * More Languages for the JVM
    * Sun to build virtual machine for iPhone - ComputerWorldAre you aware that Wikipedia has ripped off your post?not yet?
    Let me see if the systems work!

  • Database open (recovery) taking too long

    Hi,
    Ive been using your awesome BerkeleyDB Java Edition for a couple of years, and have been very happy with it.
    I am currently facing an issue with trying to open the database after a disk-full issue (which resulted in the database being unable to write, and hence not closed properly).
    While recovery seems to be operating, it has been taking an inordinate amount of time - 16 hours so far. My database has data of around 200GB, which inflated to over 450GB during deletion of entries, hence gobbling up all free space on disk.
    My questions are:
    * Should i continue to wait for recovery?
    * Is there any chance that recovery is looping?
    * Is there an easier way (DBDump?) to extract data from the database without having to perform recovery?
    Some other information that may help:
    * The recovery has decreased the size of the last significant file, and created 3 new files since it started running.
    * I have been monitoring the open files (using lsof), and they change every now and then to other files, though a good amount of its time is spent near the end of the database.
    Thus, i feel like recovery is running normally, just taking too long. Please let me know your opinion.
    A few other things i should mention regarding my issue:
    * The database was, till yesterday, running on bdb java 3.3.75. After running several hours of recovery, i upgraded to 4.1.10 (since i read about a possible recovery looping bug in one of the versions)
    * Once 4.1.10 started recovery, it spat out errors regarding the last 2 files. Only on deleting those 2 files (the last being 0 bytes, the 2nd-last being about 5k) did the recovery start. Note that the older 3.3.75's recovery never complained about those files. I can post the errors here if relevant.
    * Some of the jdb files (about 500 files out of the 47,000 files that make up the database) are 100 MB files, since i had experimented with larger sized files for a few days, then reverted the setting.
    Would any of these above affect a successful recovery?
    My setup is:
    OS:Linux CentOS 5.2, 64-bit, kernel 2.6.18-92.el5
    JVM: Sun Java 1.6.0_20, 64-bit
    Memory: 16 GB RAM, of which 8 GB is allocated to the java process (-Xmx8000M -Xms8000M)
    BDB cache set to use 6GB RAM (envconfig.setCacheSize(6000000000))
    Only the BDB basic API is being used (Environment, database, cursors). We do not use DPL, or HA features.
    Awaiting your kind response,
    Sushant A

    Hi Sushant,
    * Should i continue to wait for recovery?* Is there any chance that recovery is looping?>
    I'm not aware of a bug that would cause recovery to loop, however, you may want to take thread dumps to see if it is progressing. It isn't easy to tell, however, since each phase of recovery is in fact a loop. What you can tell easily from the thread dumps is whether recovery is blocked (completely stopped) for some reason. I don't know of a bug that would cause this, but it's something I would check for.
    Assuming it is not blocked, I suggest that you leave recovery running, and additionally (in parallel) try to obtain some information about your log. While recovery is running you can run the DbPrintLog utility, which does not itself run recovery. I suggest running the following command, which will tell us in general what your log looks like and in particular how far apart the checkpoints are:
    java -jar je-x.y.z.jar DbPrintLog -h <envHome> -S > <output>Please post the output.
    If checkpoints are not running in your application for some reason, or they are running very infrequently, this can cause VERY long recoveries. Unfortunately, you may have such a problem in your app and not be aware of it, until you crash and have to recover. To guard against this sort of thing in the future, you should keep an eye on the checkpoint frequency. EnvironmentStats.getNCheckpoints and getEndOfLog can together be used to tell how much log is written between checkpoints. We will also be able to see this from the DbPrintLog -S output.
    * Is there an easier way (DBDump?) to extract data from the database without having to perform recovery?DbDump normally runs recovery. DbDump with the -r or -R option does not run recovery, but has other drawbacks. With -r, a large amount of memory may be necessary to dump an accurate representation of your data set. If this fails because you run out of memory, -R can be used, but this will dump multiple versions of each record and it will be up to you to interpret the output.
    If regular recovery does not succeed, then DbDump -r is the next thing to try.
    Would any of these above affect a successful recovery?No, I don't believe so.
    --mark                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Bug report, how do I find out what is wrong?

    my computer keeps getting bug reports stuck all over the desktop. When I print them it is 3 pages long and I dont know how to use the information from it. It only occurs when my son is using Runescape an online game. My son says he has reported all the errors when the computer prompts him to. I did find an Bug Report that seems to be associated with this problem. Our computer did shut down occasionally also, but since I switched the location of the new memory I added it has not continued. The reason I am checking with this website is because this is where the reports are going. The first part of the error report from my computer is this:
    Unexpected Signal : EXCEPTION_ACCESS_VIOLATION (0xc0000005) occurred at PC=0x809D50E
    Function=JVM_FindSignal+0x10882
    Library=C:\PROGRA~1\Java\J2RE14~1.2\bin\client\jvm.dll
    Current Java thread:
         at r.a(Unknown Source)
         at r.a(Unknown Source)
         at client.t(Unknown Source)
         at client.B(Unknown Source)
         at client.a(Unknown Source)
         at a.run(Unknown Source)
         at client.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    And the last part of the report reads this:
    Local Time = Fri Mar 04 21:38:29 2005
    Elapsed Time = 58
    # HotSpot Virtual Machine Error : EXCEPTION_ACCESS_VIOLATION
    # Error ID : 4F530E43505002EF
    # Please report this error at
    # http://java.sun.com/cgi-bin/bugreport.cgi
    # Java VM: Java HotSpot(TM) Client VM (1.4.2-b28 mixed mode)
    What do I need to do to fix this problem? Could it be Runescapes issue? Is there other information that is more important to this? I really appreciate any help I can get with this problem. And I am sorry for being so long. I have included the Bug Report I found that is an almost exact duplicate of our issue.
    Thank you again, Linda Peterson.
    COPIED FROM BUG REPORT SEARCH AREA
    Bug ID: 5092499
    Votes 1
    Synopsis IA64 - EXCEPTION_ACCESS_VIOLATION on IA664 W2003
    Category java:runtime
    Reported Against 1.4.2_05
    Release Fixed
    State In progress, bug
    Related Bugs
    Submit Date 26-AUG-2004
    Description OS: Windows2003 [5.2.3790]
    Chip: Itanium 2
    JVM: Sun 1.4.2_05-b04 64-bit server VM
    Error message:
    EXCEPTION_ACCESS_VIOLATION (0xc0000005) occurred at PC=0x84D5F10
    Function=[Unknown]
    Library=C:\j2sdk1.4.2_05\jre\bin\server\jvm.dll
    Error ID: 4F530E43505002EF
    xxxxx@xxxxx 10/5/04 20:02 GMT
    Work Around N/A
    Evaluation Post tiger
    xxxxx@xxxxx 2004-09-02
    Comments
    Include a link with my name & email
    Submitted On 05-FEB-2005
    JavaJava13 Hey just wondering. Java is used for runescape on my computer, and it seems to be constantly crashing lately. Not only the game is crshing, it seems to even take down the whole computer with it. Sometimes the computer restarts and I get an error message.
    "Your system has recovered from a serious error"
    Java continues to add error reports to my desktop with this code: 4F530E43505002EF
    Anyone help?

    try checking with runescapes FAQ/tech support. I play
    WC3: RoC and i only got that same memory location
    error(0xc0000005). I got that memory error when I
    used a no-cd third party program when they upgraded
    the server. So, my advice is check on the FAQ for
    errors and ask your son if he is using
    ANY third party programs.The 0xc0000005 error is a standard error on Windows that can occur for any number of reasons.
    It means something in the application tried to access memory to which windows knows the application should not be accessing.

  • BOXI R2 with Firefox

    Hi,
    Could anyone help me to get exact environment details to run BOXI R2 reports in firefox browser?
    Version of Firefox = ?
    Version of Java = ?
    while saving webi report--user getting error = "The argument has an invalid value". <using firefox>
    I know IE is the last solution but need firefox for som reason.
    Thanks,
    M.A.Jilani

    I got the answer..Thanks..
    BOXIR2 SP2 is compatible with:
    1 Firefox ---1.0.4
    2 JVM--- Sun 1.4.2_xx
    BOXIR2 SP5:
    1 Firefox--- 2.0 -
    sun 1.5.0_xx   & sun 1.6.0_02+
    2 Firefox-3.0--   sun 1.5.0_xx   & sun 1.6.0_02+

  • Get AccessControlException(access denied) when refresh page

    Our applet have AccessControlException when refresh the ie browser but the first time open no such a problem! And when we use other host which use a different proxy no such a problem either. Don't know why , is it the problem of proxy?
    any idea ? many thanks!
    here is the log:
    INFO - Wed Jan 16 16:09:30 EST 2008: getResponseTime Debug1-- openConnection time: 0ms
    network: Connecting https://hostname/_en.html with proxy=HTTP @ proxyname:8080
    network: Connecting https://hostname/_en.html with cookie "BCSI-CSA1021104=2"
    INFO - Wed Jan 16 16:09:34 EST 2008: getResponseTime Debug3-- getInputStream time: 4500ms
    liveconnect: Invoking JS method: ua
    INFO - Wed Jan 16 16:09:34 EST 2008: Log page URL -- https://hostname/result.html?timestamp=Wed Jan 16 16:09:34 EST 2008&ip=''&jvm=Sun Microsystems Inc.,1.5.0_14&os=Windows XP,5.1&echo_time=4500ms&UserAgent=Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
    INFO - Wed Jan 16 16:09:34 EST 2008: logUsrInfo Debug5-- openConnection time: 0ms
    INFO - Wed Jan 16 16:09:34 EST 2008: JVM version checking passed!
    +(the first time open page can pass!)+
    liveconnect: Invoking JS method: showApplication
    basic: Stopping applet ...
    basic: Finding information ...
    basic: Releasing classloader: sun.plugin.ClassLoaderInfo@134e4fb, refcount=0
    basic: Caching classloader: sun.plugin.ClassLoaderInfo@134e4fb
    basic: Current classloader cache size: 1
    basic: Done ...
    basic: Removed progress listener: sun.plugin.util.GrayBoxPainter@1be0f0a
    basic: Joining applet thread ...
    basic: Destroying applet ...
    basic: Disposing applet ...
    basic: Joined applet thread ...
    basic: Unregistered modality listener
    basic: Quiting applet ...
    basic: Registered modality listener
    liveconnect: Invoking JS method: document
    liveconnect: Invoking JS method: URL
    basic: Referencing classloader: sun.plugin.ClassLoaderInfo@134e4fb, refcount=1
    basic: Added progress listener: sun.plugin.util.GrayBoxPainter@50988
    basic: Loading applet ...
    basic: Initializing applet ...
    basic: Starting applet ...
    basic: Referencing classloader: sun.plugin.ClassLoaderInfo@134e4fb, refcount=2
    basic: Releasing classloader: sun.plugin.ClassLoaderInfo@134e4fb, refcount=1
    INFO - Wed Jan 16 16:09:44 EST 2008: getResponseTime Debug1-- openConnection time: 0ms
    network: Connecting https://hostname/fx-canada/login_detail_fr-ca.html with proxy=HTTP @ proxyname/
    network: Server https://hostname/fx-canada/login_detail_fr-ca.html requesting to set-cookie with "BCSI-CSA1021104=2; Path=/"
    INFO - Wed Jan 16 16:09:48 EST 2008: getResponseTime Debug4-- throw exception time: 4515ms
    WARN - Wed Jan 16 16:09:48 EST 2008: Cannot get system response time!
    java.security.AccessControlException: access denied (java.net.SocketPermission hostname:8080 connect,resolve)
    at java.security.AccessControlContext.checkPermission(Unknown Source)
    at java.security.AccessController.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkConnect(Unknown Source)
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.proxiedConnect(Unknown Source)

    The security credentials for a JMS "send" operation are not taken from the username and password that you pass to the "createConnection" method, but from the security login context in effect when you call "send". So, if you want this to happen using a particular security context, you need to make sure that you have set this up before you make the call.
              There are a number of ways to do this in WLS. Your best bet would be to check the security documentation, or do ask on the security newsgroup for the best way to do this in 8.1.

Maybe you are looking for

  • Abap-- urgent

    hi all..         can any one provide me with the links od the site tat provide me with the abap tips on performance tuning in abap,reports, ALV smart forms,IDOC, DDIC objects .. and entire abap.. thnx

  • How to merge user accounts into one account

    I have 2 user accounts and need to merge them into one (having both running seems to slow down the computer significantly). There is some overlap in itunes and apps but none on iphoto. What would be the best way to do it? Krzys

  • Cannot open/edit previously saved forms

    I just upgraded my reader and now I cannot open/edit any of my forms previously saved.  I work in a law office so I can't re do all my forms.  How do I open and edit forms I previously saved?

  • Skype won't accept my password

    Dear all, I don't understand why but Skype keeps on refusing my password. I'm 100% positive sure it's the correct one : I tried to reset it several times, I tried to connect to the Skype website with success. I tried with both my user name and with m

  • 'network connection error' in NSU

    Hello all! when im trying to update my n80`s firmware using nsu i receive an error 'network connection interrupted,check your connection or firewall' (maybe inaccurate translation, sorry for my english ), but i have fast and stable internet connectio