Java Server JRE vs. JRE

Discussion in 'Performance Tweaking' started by Megaro, Oct 6, 2013.

  1. Annother question: Do you use Java 7 or 6 and why?
    • Like Like x 1
  2. Here you have a very good explanation:
    • Server JRE: (Server Java Runtime Environment) For deploying Java applications on servers. Includes tools for JVM monitoring and tools commonly required for server applications, but does not include browser integration (the Java plug-in), auto-update, nor an installer. Learn more [​IMG]
    • JRE: (Java Runtime Environment). Covers most end-users needs. Contains everything required to run Java applications on your system.
    Summary: JDK is for java developers so you probably should not get it for your server. JRE is for client users (home computers)
    Server JRE is best option if you run a server.
    And Java 7 is the latest which have less bugs and better performance + much more, i'm running my server on the latest Server JRE (7u40)
    Bye and regards!
  3. Pretty sure Spigot does not support Java 6.
  4. SuperSpyTX


    I would hope that it does, so does Bukkit.
  5. joehot200


    Yeah but Bungee dosen't.
  6. I'm just remembering all the threads where someone had a Java issue and the advice was always "Upgrade to Java 7" or "Make sure that Java 7 is default".

    Or maybe it is not officially supported. In other words, Dev team will not help unless you are on Java 7.


    That'll be where I'm getting it from.
  7. SuperSpyTX


    Afaik, There isn't entirely much of a difference between Java 6 and 7, except performance improvements, and some bytecode changes.
  8. Are in the Java installation machine-specific settings or you can transfer it to other servers? e.g. when you move your whole Linux installation to a new Server.
  9. You can move it without problems.
  10. It is still a BungeeCord requirement though:

    edit: an hour and a half after this post, somebody else had the issue with BungeeCord -
    #11 LukeHandle, Oct 6, 2013
    Last edited: Oct 8, 2013
  11. JDK is basically JRE with some additional developer tools (to compile a plugin or Spigot you will need JDK for sure). Server JRE is nothing you really would need for a MC server anyways.

    And if you can then upgrade to Java 7. Why?:
    - It has better performance and overall more fixes, improvements
    - Its completely backwards-compatible with java 6 compiled applications (However java 7 compiled applications/plugins wont run on Java 6 anymore and some plugins already compile with Java 7)

  12. You need JDK for runnig Spigot?
    Its not really need for MC servers. Does it mean it's not good for MC servers and I have to switch to JRE oder JDK?
  13. JDK includes JRE. You don't really need the JDK unless you want to compile Spigot yourself or make your own plugins. It does include some tools you may find useful though, but generally you will be fine with the JRE on your server (but don't panic if you've already installed the JDK).
  14. The server JRE will cause problems? Or is it simply not useful for MC?
  15. The JRE will work fine for running a Minecraft server.
  16. That the JRE works fine is okay but the question was if the "Server JRE" works fine too.
  17. Yes
  18. We run mcmyadmin and in the config it says
    Code (Text):
    [/FONT][/COLOR][COLOR=#000000]#jvm - The type of virtual machine to use[/COLOR][/FONT][/COLOR]
    [COLOR=#000000][FONT=tahoma]# client - Included with the standard JRE (default)[/FONT][/COLOR]
    [COLOR=#000000][FONT=tahoma]# server - Slower start time, faster throughput (recommended)[/FONT][/COLOR]
    [COLOR=#000000][FONT=tahoma]# Note: The server JVM is not installed as standard, and requires the JDK[/FONT][/COLOR]
    [COLOR=#000000][FONT=tahoma]# to be installed. [/COLOR][/FONT][/COLOR]
    My point is would this have a effect like the creator of mcmyadmin states and can will i notice it with only using jre-7u25-linux-x64.rpm. Also how would i upgrade to server jre do i need to uninstall/re install anything
    #19 george, Oct 10, 2013
    Last edited: Oct 10, 2013
  19. To clear a few things up. JRE is the run time environment it is NOT a server it self in the true sense. JDK is JRE plus all the relevant development tools. When you install JDK as standard it comes with the JRE and under a normal installation on any platform will be installed as standard. Remember you can have multiple versions of JRE installed which it uses is all down to what the default is in your PATH environment or if you specify the path in your start up script. I would always install the JDK to run MC servers as it allows you to use JStack which comes with JDK (I am talking about the Oracle version not openJDK) There is no real noticeable difference in using -jar or -server for MC due to the internals of MC and the VERY old 3D engine it uses.

    Java has Huge differences in performance depending on so many factors, Hardware to start don't presume the best hardware will give better performance. The platform it runs on Linux , Windows, MAC etc make a difference. The compiler just to compile the code makes a difference. The command lines options you choose makes all the difference. How do I know this I have tested it out over the years with professional profiling tools in various jobs.

    On the subject of Java 1.6 or 1.7 . For me it's a no brainier 1.7 wins every time. Do you realize Java 1.6 (Oracle) is not been supported for over 6 months meaning no bug fixes or security plugs. They have retired it. 1.8 is out in Beta and is already a massive step-up in performance, that will be officially released early 2014 . The only reason some of you guys use 1.6 to code in is the host providers won't upgrade as it costs millions. I am not talking dedicated servers but managed and SAAS services. But only 20% of the market use 1.6 that's overall not just MC. My view is not to compile against 1.6 out of principle, as until customers put pressure on the hosts it will stay the same. 1.6 is about 6-7 years old now. But that's just my opinion.

    PS Am Dyslexic so sorry if some of the above doesn't make sense Sorry :(