Java

Java is an object-oriented programming language originally developed by James Gosling at Sun Microsystems. It was released in 1995 as a core component of Sun Microsystems' Java platform. Oracle currently develops the language and JVM for Windows, Solaris, Linux and Mac OS X.

Java can run on most popular operating systems as it compiles code into platform independent, low-level byte-code via the Java Virtual Machine that (which is platform specific) translates this byte-code into native instructions.

Java is the programming language in which RuneScape's game engine is mostly written though it should not be confused with RuneScript, the scripting language that Jagex uses to create new content for RuneScape.

Effects on the game
Though not exclusive to the language, there are a number of technical limitations of Java which are present in the game.

Maximums
The most prominent effect of Java's data types is the maximum limit of a 32-bit signed integer. RuneScape stores the number of items using an int type variable and thus there can be no more than 2,147,483,647 (231-1) items in a single stack.

Consequently, this is the maximum amount of coins (and indeed any other stackable item) that can be stored in a stack. If a player attempts to withdraw or pick up coins while carrying the maximum amount of coins, it is stated that there is not enough inventory space.

It is also part of the reason why experience in a skill caps at 200 million. Since experience is tracked to the tenths place, one power of 10 is lost from the signed integer capacity, giving experience an upper limit of 214.7 million. The original developers thought that a 214.7 million cap would be messy, and rounded the cap down to an artificial limit of 200 million.

Killcounts in the beasts tab are stored as unsigned 16-bit integers, meaning they can have a maximum value of 65,536 (216); however, to keep the numbers clean, the maximum killcount that can be tracked is 60,000.

Null
All items, monsters, etc are objects; i.e. they are an instance of some class. When an object is declared, it is usually created as a new instance of whatever class to which it belongs and the variable points to its newly created memory address. When nothing is after the declaration, however, the object points to null. Nulls can exist when there is an error in RuneScape&#39;s code, but more often it means there is a problem fetching data from the server.

In this mock up code, both  and   are declared, but only   is instantiated as an. On the other hand,  is not instantiated at all; it points to.

Trivia

 * Java supplies the first two letters in the acronym Jagex (Java Gaming Experts).