3 Replies Latest reply: Jan 14, 2013 3:41 PM by jschellSomeoneStoleMyAlias RSS

    client jvm.dll vs server jvm.dll

    894590
      I recently had to work on an legacy application which led me dig into jvm.dll things but could not find something concrete.
      From my research, i know
      client jvm.dll- comes with JRE, for lighter apps.
      server jvm.dll-comes with JDk and more optimized implementation of jvm.


      But-
      why jdk/jre for 64-bit doesnt contain client jvm.dll (only server.dll)??
      jdk/jre for 32 bit contains client jvm.dll.

      Our app (which is actually a windows service written by some unknown team) didnt run with server jvm.dll and after struggling a lot, we realized it requires client jvm.dll
      which led us to download 32 bit jdk.

      That app/wondows service was created using apache commons daemon on jdk 4.
        • 1. Re: client jvm.dll vs server jvm.dll
          EJP
          If it didn't run under both JVMs there must have been something very strange about it. What was it?
          • 2. Re: client jvm.dll vs server jvm.dll
            894590
            Actually after struggling a lot i realized it runs with client jvm.dll and not with server jvm.dll . I could nt undertand why when both are supposed to be doing similar work.I assumed that older application's window service (apache common daemon) part which we dint change and we just have executable must be written with 32 bit java.


            And then i realized all jdks/jre for 64 bit doesnt at all contain client jvm.dll.Only server jvm.dll.?????
            Also somewhere on internet forums, i read that JREs contain client jvm.dll but JDK contains both or server jvm.dll ?which was not true and got me confused.
            I am now more interested in knowing the details.
            • 3. Re: client jvm.dll vs server jvm.dll
              jschellSomeoneStoleMyAlias
              user5873044 wrote:
              ...didnt run with server jvm.dll
              That either means that
              1. It threw an exception - which would tell you something.
              2. It crashed.
              3. You had some 'criteria' which was not met for one of them.

              Additionally it might have been one of the above but you don't know what caused the problem.
              It would be helpful and interesting to know which it was.
              (which is actually a windows service written by some unknown team)
              Which suggests one possible failure in that they used jni and were explicitly loading one dll versus the other.
              why jdk/jre for 64-bit doesnt contain client jvm.dll (only server.dll)??
              Possibly because when they first put together the 64 bit VMs the only machines that ran 64 bits were server class machines.