What is the difference between JVM and JRE

hello everyone,
a funny but really confusing question is that how a virtual machine is different from a runtime environment.
some may argue that RE contains the API classes and implementations etc. but i need some real picture of what is the actual difference and anything related to this topic.
thanks,
waiting for your responses :-)

The Java Virtual Machine forms part of a large system, the Java Runtime Environment. Each operating system and CPU architecture requires a different JRE.
The JRE comprises a set of base classes, which are an implementation of the base Java API, as well as a JVM.

Similar Messages

  • What is the difference between JVM and JRE and JDK?

    Hi , I want to know what actually is JVM,JRE and JDK ? and the difference between them?

    They should at least try. When it comes to
    terminology, if they can find this site, they should
    be able to find google, wikipedia, etc. It's
    reasonable to expect them to try there first, and
    then, if they still have questions, post here,
    indicating what they looked at and how it fell short,
    what they're still confused about, etc.Perhaps this is a valid point.
    I believe physical JVM hardware has also been
    manufactured. I wonder what we'd call that? A JPM
    (Java Pysical Machine)?No. It is simply a hardware implementation of the abstract Java Virtual Machine.
    .class files are executed by software (in fact,the
    software that executes the .class files is calledthe
    JRE and is short for the Java
    Runtime Environment). The JavaRuntime
    Environment is a native program (i.e. it is run by
    hardware) which provides the ability to executejava
    bytecodes (.class files)That's the JVM.No it's not. The JVM is an abstract architecture.
    The JRE is the JVM plus native libraries plus core
    API Java classes.The JRE is an implementation of the JVM along with some additional facilities. The JVM may be used to describe concrete implementations in industry vernacular, but this is not a technically accurate usage of the term per the specification and is therefore incorrect.
    From the preface to the Java Virtual Machine Specification, Second Edition, viewable at http://java.sun.com/docs/books/jvms/second_edition/html/Preface.doc.html:
    "The Java virtual machine is an abstract machine."
    From Wikipedia (http://en.wikipedia.org/wiki/JVM):
    "A Java Virtual Machine (JVM) is a set of computer software programs and data structures which implements a specific virtual machine model."
    Perhaps this misconception is the source of the confusion. This is one reason why I answered deepakorsun rather than refer him to somewhere else: anywhere that would be reliable and/or completely accurate would be too dense to readily understand, and anywhere understood easily enough might not be completely accurate.
    >
    The Java Development Kit (JDK) just provides the
    facilities necessary to write programs that willrun
    on the Java Virtual Machine. It contains acompiler
    It also contains tools such as jar and javap, the API
    docs for the core API classes, the source code for
    the API classes, probably a few other things, and
    generally the JRE (though I'm not sure if that's
    officially a required part of the JDK).I never said it didn't contain jar, javap, javac, java, jdb, jconsole, or any of the other programs or resources shipped with jdk. I simply stated affirmatively something it did contain. As I implied before, technical comprehensiveness is exactly what makes resources such as the JVM specification almost unusable for answering questions like this. That is why I omitted such details in my description. And since we're being all technical here, the API documentation does not ship with the Java Development Kit (at least not as of JDK 5.0), it is a separate download. It is the core API source files that ship in a .zip file with the JDK.
    Don't get me wrong, I do understand that you have probably seen a lot more people come and go from these forums than I may ever understand and that you have helped more people than you can remember, and I don't mean to disrespect that. I understand that dealing with so many people over such a long period of time and hearing the same questions over and over again can probably start to wear on your patience, but I don't think the right approach is to treat anyone that tries to help them with utter contempt and sarcasm. That's not constructive or useful to anyone. I understand why you would be upset if somebody was purposely trying to be lazy, I probably would be too, but you have no real way of determining whether or not they are being lazy or just don't know something and don't know how to figure it out for themselves so they are asking a question. And if they are honestly just asking a question in good faith and looking up the answer on Wikipedia just did not occur to them (or they couldn't understand what it said), yet they somehow ended up on this site, they have done nothing wrong and there is no reason to get angry at them.
    Oh come on, that wasn't nice. Not everybody isable
    to answer their own questions. WTF are you talking about?!? Why waste the time to
    type something out when they can click on a link and
    find 1000 times more information than you can fit
    into one post? Either way - they're
    STILL going to have to read the
    information themselves...
    Ridiculous.So I suppose you've either read the Java Virtual Machine Specification, the Java Language Specification, and the Java Native Interface Specification in their entireties, or absolutely nothing about programming in Java. This is because, by your reasoning, these three books contain 1000 times more than anyone can fit on a tutorial, Wikipedia entry, mailing list, forum, blog, or anything else.
    Criticizing somebody who isn't doing something the exact way you think it should be done is often quite idiotic and non-constructive. I believe this is this case here. Please post something more useful, meaningful, and/or polite next time. And just for future reference, yelling at a beginner does not help them learn faster or better. It just makes them hate you.
    Oh come on, that wasn't nice. Not everybody isable
    to answer their own questions. Java terminologycan
    be confusing and difficult to understand in part
    because of all the acronyms used and all the name
    changes undergone by the various development kitsand
    platforms.Point taken. You have much more patience than
    I, but with lots of intensive therapy and proper
    adjustment of my medications, I may get better.Thank you for this post. A display of wisdom and patience. You single handedly caused me to reconsider participating in a flame war.

  • What is the difference between jdk  and jre

    what is the difference between jdk and jre
    plzz tell me in detail

    It's an extremely important skill to learn how to search the web. Not only will it increase your research and development talents, it will also save you from asking questions that have already been answered numerous times before. By doing a little research before you ask a question, you'll show that you're willing to work and learn without needing to have your hand held the entire time; a quality that is seemingly rare but much appreciated by the volunteers who are willing to help you.
    If you've done the research, found nothing useful, and decide to post your question, it's a great idea to tell us that you've already searched (and what methodologies you used to do your research). That way, we don't refer you back to something you've already seen.
    To get you started, here is an excellent resource: The Java� Glossary

  • What is the difference between ojvm and client versions?

    Changing the java vm from client to ojvm result in the following error:
    Errormessage:
    java.lang.UnsatisfiedLinkError: no UniqueC in java.library.path
    Project Settings -> Configurations -> Development -> Runner -> Virtual Machine -> ojvm FAILS
    Project Settings -> Configurations -> Development -> Runner -> Virtual Machine -> ojvm      RUNS OK.
    Project Settings -> Configurations -> Development ->Paths ->Additional Classpath:
    C:\jars\xerces.jar;C:\jars\UniqueC.dll;C:\jars\log4j-1.2.8.jar
    What is the difference between ojvm and client versions? How can I make ojvm to find UniqueC.dll?
    Various version info:
    Output from program:
    java version:1.4.2_01
    java home:C:\programfiler\JAVA\2sdk1.4.2_01\jre
    java vm version:9.0.3.738 cdov
    Taken from JDeveloper Help About:
    Oracle IDE     9.0.3.10.35
    UML Modelers Version     9.0.3.9.4
    Business Components Version     9.0.3.10.7
    java.version     1.3.1_02
    java.vm.name     OJVM Client VM
    java.vm.version     9.0.3.738 o

    However, Adobe offers extra paid services to create PDF or to export PDF to other formats. You are not required to buy them, however.

  • Whatz the difference between jdk and jre

    i would like to know the difference between jdk and jre.

    Yes JRE is Java Run Time Environment. The java programming language adds the portability by converting the source code to byte code version which can be interpreted by the JRE and gets converted to the platform specific executable ones. Thus for different platforms one has corresponding implementation of JRE. But JRE has to meet the specification JVM (Java Virtual Machine) Concept that serves as a link between the Java libraries and the platform specific implementation of JRE. Thus JVM helps in the abstraction of inner implementation from the programmers who make use of libraries for their programmes.
    The JDK(Java Developmental Tool kit) comes along with java libraries and JVM embedded in it. Apart from these it comes along with the utility tools for byte code compilation "javac", Executing the byte codes through java programmes through "java" and many more utilities found in the binary directory of java. Speaking practically JDK is essential for developers, which comes along with library packages to develop Software programmes. While JRE is minimal set of programmes which executes the java class files developed by the software developers.

  • What is the difference between #variable_name and :variable_name?

    Hi!
    What is the difference between #variable_name and :variable_name?
    I have found that if we use alphanumeric variable then :variable_name return value in quotes but #variable_name without quotes.
    Why it does not work in the same way for variable default values when variable is used in filter? (It works in mapping)
    I use variable in filter like T.OUT_DATE>convert(datetime,:LAST_UPDATE_DATE,121)
    When I use my variable in package and do refresh it works fine. But when I try to execute the same interface with variable default value I get error. Seems that variable name has been not changed to the value. It does not work with default value in quotes neither without quotes.
    Any ideas how to solve that?
    Thank you in advance!
    Edited by: user13278245 on Sep 15, 2010 4:34 AM

    Question is how to make it work with default value, when I execute interface standalone, not in package? And why it works in mapping but not in filter?
    + I have found that it works if source is Oracle. It doesn't work only for MS SQL source.
    Edited by: user13278245 on Sep 15, 2010 6:43 AM

  • What is the difference between start() and run()

    Hi:
    what is the difference between start() and the run()???
    in my app, i have
    Console.debug( "starting thread to listen for clients" );
    _server = new Server( this );
    _server.start();
    _server extends Thread..
    why everytime i use server.start(); my app will terminate on it is own, even though in my servr.run() method, i have a while loop
    and if i call _server.run() explicitly in my code, that while loop will be in execution
    can someone let me know??
    thnx

    what is the difference between start() and the
    run()???start() is a method on Thread that tells it to start.
    run() is a method in the object that the thread executes.
    why everytime i use _server.start(); my app will
    terminate on it is own, Err.... I'm not convinced this is true. It'll throw an IllegalThreadStateException, if you try to restart an existing thread.
    If that's what you're saying.
    even though in my _servr.run()
    method, i have a while loopI don't see the connection. Are you saying that the while loop never terminates, and you don't see why the thread is terminating?
    and if i call _server.run() explicitly in my code,
    that while loop will be in executionIf you call server.run() explicitly, then run() will be executed in the same thread that you called it in.

  • What is the difference between exists and in

    hi all
    if i have these queries
    1- select ename from emp where ename in ( select ename from emp where empno=10)
    and
    2- select ename from emp where exists ( select ename from emp where empno=10)
    what is the difference between exists and in is that only when i use in i have to bring the field name or what.... i mean in a complex SQL queries is it will give the same answer
    Thanks

    You get two entirely different result sets that may be the same. Haah! What do I mean by that.
    SQL> select table_name from user_tables;
    TABLE_NAME
    BAR
    FOO
    2 rows selected.
    SQL> select table_name from user_tables where table_name in (select table_name from user_tables where table_name = 'FOO');
    TABLE_NAME
    FOO
    1 row selected.
    SQL> select table_name from user_tables where exists(select table_name from user_tables where table_name = 'FOO');
    TABLE_NAME
    BAR
    FOO
    2 rows selected.So, why is this? the WHERE EXISTS means 'if the next is true', much like where 1=1 being always true and 1=2 being always false. In this case, where exists could be TRUE or FALSE, depending on the subquery.
    WHERE EXISTS can be useful for something like testing if we have data, without actually having to return columns.
    So, if you want to see if an employee exists you might say
    SELECT 1 FROM DUAL WHERE EXISTS( select * from emp where empid = 10);
    If there is a row in emp for empid=10, then you get back 1 from dual;
    This is what I call an 'optimistic' lookup because the WHERE EXISTS ends as soon as there is a hit. It does not care how many - only that at least one exists. It is optimistic because it will continue processing the table lookup until either it hits or reaches the end of the table - for a non-indexed query.

  • 1)Now I use Lightrom 5.7 how to upgrade to 6 or CC? 2) What is the difference between 6 and CC vercion? 3) When I used lightromm 3, I could see inEXIF the distance in meters till the object I took, in the later virsions that function disappeared, it is ve

    1)Now I use Lightrom 5.7 how to upgrade to 6 or CC?
    2) What is the difference between 6 and CC version?
    3) When I used lightromm 3, I could see in EXIF the distance in meters till the object I took, in the later virsions that function disappeared, it is very sad  I am stiil waiting and hope that it would be possibble in the new  versions. Or this indication may  possible by setting?

    1)Now I use Lightrom 5.7 how to upgrade to 6 or CC?
    Purchase the standalone upgrade from here: Products
    Download CC version from here: Explore Adobe desktop apps | Adobe Creative Cloud
    2) What is the difference between 6 and CC version?
    See this comparison chart: Compare Lightroom versions | Adobe Photoshop Lightroom CC
    3) When I used lightromm 3, I could see in EXIF the distance in meters till the object I took, in the later virsions that function disappeared, it is very sad  I am stiil waiting and hope that it would be possibble in the new  versions. Or this indication may  possible by setting?
    Rob Cole's ExifMeta plugin displays the Subject Distance field (and much more).  Unfortunately, his Web site appears to be down again.  He used to be very active here, but he hasn't posted in several months.

  • What's the difference between thunderbolt and mini displayport?

    I'm trying to connect my Macbook with a monitor and I'm thinking of what cable to get. I will have to connect using a (Thunderbolt to HDMI cable) or a (mini displayport to HDMI cable).
    I was wondering what's the difference between Thunderbolt and mini displayport
    Thanks

    @bontistic: it is not true that only the Macbook Air supports Thunderbolt. All models(!) support thunderbolt: also the Macbook Pro's and Mini's. Eg.: http://www.apple.com/nl/macbookpro/features.html#thunderbolt
    My Macbook Pro from 2011 already supported Thunderbolt...

  • What is the difference between, DSO and DTP in BI 7.0

    Hi Guru's
    what is the difference between, DSO and DTP in BI 7.0 , how it will come the data from r/3 to BI 7.0, can u discribe?
    points will be assined?
    Thanks & Regards,
    Reddy.

    Hi,
    The data will be replicated in the same way as we do in 3.5.
    Activating, and Transporting the same DS in BW, and Replicating them in BW from R/3.
    First you need to know Diff b/w 3.5 nd 7.0, for that check the below doc's:
    http://help.sap.com/saphelp_nw04s/helpdata/en/a4/1be541f321c717e10000000a155106/content.htm
    blogs:
    /people/sap.user72/blog/2004/11/01/sap-bi-versus-sap-bw-what146s-in-a-name
    Re: How to identify Header, Item and Schedule item level data sources?
    For Transformations in BI:
    http://help.sap.com/saphelp_nw70/helpdata/en/33/045741c0c28447e10000000a1550b0/frameset.htm
    http://help.sap.com/saphelp_nw70/helpdata/en/f8/7913426e48db2ce10000000a1550b0/frameset.htm
    http://help.sap.com/saphelp_nw70/helpdata/en/a9/497f42d540d665e10000000a155106/frameset.htm
    For DTP:
    DTP:
    http://help.sap.com/saphelp_nw70/helpdata/en/20/a894ed07e75648ba5cf7c876430589/frameset.htm
    For DSO:
    Data Store Objects:
    http://help.sap.com/saphelp_nw70/helpdata/en/f9/45503c242b4a67e10000000a114084/frameset.htm
    Reg
    Pra

  • What is the difference between TO_CHAR and TO_DATE()?

    Hi everybody,
    i am facing a problem in my system.It is quite urgent, can you explain me "What is the difference between TO_CHAR and TO_DATE()?".
    According to user's requirement, they need to generate a code with format "YYMRRR".
    YY = year of current year
    M = month of current month (IF M >=10 'A' ,M >=11 'B' , M >=10 'C')
    RRR = sequence number
    Example: we have table USER(USER_ID , USER_NAME , USER_CODE)
    EX: SYSDATE = "05-29-2012" MM-DD-YYYY
    IF 10
    ROW USER_ID , USER_NAME , USER_CODE
    1- UID01 , AAAAA , 125001
    2- UID02 , AAAAA , 125002
    10- UID010 , AAAAA , 12A010
    This is the original Script code. But This script runs very well at my Local. Right format. But it just happens wrong format on production.
    12A010 (Right) => 11C010 (Wrong).
    SELECT TO_CHAR(SYSDATE, 'YY') || DECODE( TO_CHAR(SYSDATE, 'MM'),'01','1', '02','2', '03','3', '04','4', '05','5', '06','6', '07','7', '08','8','09','9', '10','A', '11','B', '12','C') ||     NVL(SUBSTR(MAX(USER_CODE), 4, 3), '000') USER_CODE FROM TVC_VSL_SCH                                                       
         WHERE TO_CHAR(SYSDATE,'YY') = SUBSTR(USER_CODE,0,2)                         
         AND TO_CHAR(SYSDATE,'MM') = DECODE(SUBSTR(USER_CODE,3,1),'1','01',          
              '2','02', '3','03', '4','04', '5','05',          
              '6','06', '7','07', '8','08', '9','09',          
              'A','10', 'B','11', 'C','12')                    
    I want to know "What is the difference between TO_CHAR and TO_DATE()?".

    try to use following select
    with t as
    (select TO_CHAR(SYSDATE, 'YY') ||
             DECODE(TO_CHAR(SYSDATE, 'MM'),
                    '01', '1',
                    '02', '2',
                    '03', '3',
                    '04', '4',
                    '05', '5',
                    '06', '6',
                    '07', '7',
                    '08', '8',
                    '09', '9',
                    '10', 'A',
                    '11', 'B',
                    '12', 'C') as code
        from dual)
    SELECT t.code || NVL(SUBSTR(MAX(USER_CODE), 4, 3), '000') USER_CODE
      FROM TVC_VSL_SCH
    WHERE SUBSTR(USER_CODE, 1, 3) = t.codeand yes you need check time on your prodaction server
    good luck
    Edited by: Galbarad on May 29, 2012 3:56 AM

  • What is the difference between upgradation and migration.

    Hi Guru's
    what is the difference between upgradation and migration.
    actuallly i involved in upgradation project, here my role is
    1. first i check the query's in 3.5 save the query and transport the query. and check the query in bex analyzer also.
    2. go to BI .7  find the query;s ,give the query name and save the query ,
    3. once save the query, again will come to 3.5 open the query , it will not open. this is my job here,
        come to 7.0 check the query in analyzer also.
    i am having littile bit confusion, how it will comes query in 7.0, why are u saving the query's in 3.5 and 7.0
    query's already available in 7.0 why are u doing this work?
    can i know the upgrades those  objects, is it neccessary, if necessary how can i upgrade.
    infoobje , transferrules, transferstructure ,infosoure, datasoure,updaterules, ods, cubes.
    Points will be Assingned ,
    Thanks & Regards
    prabhavathi

    Hi,
    I was talking in a general sense not on a query level.
    If your taling about migration in that level meaning as a part of larger upgradation (in your case 3.x to 7) there may be many places where you need to do this kind of activities.
    Fr eg migration into new data flow, Migration of Web templates from BW 3.x to Netweaver 2004s, etc
    Hope this helps.
    Thanks,
    JituK

  • What is the difference  between ws_upload and gui_upload

    what is the difference  between ws_upload and gui_upload
    what is the difference  between ws_download and gui_down load
    pls tell  briefly

    Hi Kuamr,
    UPLOAD and DOWNLOAD, the function modules used until now are not part of the standard set of ABAP commands. They are used to display the file interface on the presentation server. UPLOAD and DOWNLOAD are not compatible with USs and have been replaced by GUI_UPLOAD and GUI_DOWNLOAD.
    The new function modules, GUI_UPLOAD and GUI_DOWNLOAD, have an interface that also allows you to write Unicode format to the local hard drive. For a description of these interfaces, refer to the documentation for each function module, available under SAP Easy Access " Development " Function Builder " Goto " Documentation.
    Instead of using the function modules, you can use the static methods GUI_UPLOAD and GUI_DOWNLOAD of the global class CL_GUI_FRONTEND_SERVICES.
    Hope this resolves your query.
    Reward all the helpful answers.
    Regards

  • What is the difference between count(*) and count(1)

    what is the difference between count(*) and count(1)

    Hi,
    903830 wrote:
    some say count(1) is faster and some say count(*), i am confused about count function?In the link provided by Prakash :
    prakash wrote:
    http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1156159920245
    You can read :
    Followup   August 31, 2001 :
    I'll have to guess, since you don't say, that you are using 7.x and before when count(*) and count(1) were different (and count(1) was slower). In all releases of the databases for the last 4-5 years, they are the same.
    Don't waste your time on that.
    ;-)

Maybe you are looking for

  • Application window not working, must go to dock

    I am having a strange thing happen both on my mac at home and my one at work. Sometimes when I click on the application window, it will not come forward. I have to go to the dock and click on it to select it. This happens quite a bit in the print dia

  • LabVIEW 3.0.1 to 2011?

    Hi! I am a beginner in LabVIEW and I should write a new VI for a solar cell in our university. It is used for experiments for other students. But unfortunately the devices are very old ( Keithley 228a and 199 ). So there are some problems using GPIB

  • Error Message flashing on Screen of 7410 All in One

    The screen on my officejet 7410 all in one printer fax  is flashing the word error (Ox84714145e1) and the auto answer light is alternatingly flashing. We have done the obvious by unplugging everything and trying to reboot but it is frozen.  Cannot tu

  • IP Address with two NICs

    LabVIEW 7.0   I have Win2000, my client has XP Pro.   My program, as a convenience, displays on the front panel the IP address of the machine it's running on. This is so he can enter this address in another machine and communicate with it.   I'm usin

  • Frame issues

    Hi I have a couple of questions regarding Frames. - By default when a window is displayed it is shown at position 0.0 of the screen I would like to position a frame myself. How can I do this??? - How can I make sure a Frame is always on top of the ot