Question: I got introduced to OWL [here](http://www.w3schools.com/rdf/rdf_owl.asp) and [here](http://www.w3.org/TR/owl-guide/). And also seen few examples like...
<http://www.co-ode.org/ontologies/pizza/pizza.owl>

How should I run this example? Are there any tools to run these OWL files?

Is there any blog/site to see a working example of Ontology? An example to say..."This is the difference that Ontology makes..." kind of.

Answer: 
```
public class Scratch
{
   public static void main(String[] args)
    {
        Integer a = 1000, b = 1000;  //1
        System.out.println(a == b);

        Integer c = 100, d = 100;  //2
        System.out.println(c == d);
   }
}

```

**Output:**

```
false
true

```

Yep the first output is produced for comparing reference; 'a' and 'b' - these are two different reference. In point 1, actually two references are created which is similar as - 

```
Integer a = new Integer(1000);
Integer b = new Integer(1000);

```

The second output is produced because the `JVM` tries to save memory, when the `Integer` falls in a range (from -128 to 127). At point 2 no new reference of type Integer is created for 'd'. Instead of creating a new object for the Integer type reference variable 'd', it only assigned with previously created object referenced by 'c'. All of these are done by `JVM`. 

These memory saving rules are not only for Integer. for memory saving purpose, two instances of the following wrapper objects (while created through boxing), will always be == where their primitive values are the same - 

* Boolean
* Byte
* Character from **\u0000** to `\u007f` (7f is 127 in decimal)
* Short and Integer from **-128** to **127**
Yes, there is a strange autoboxing rule that kicks in when the values are in a certain range. When you assign a constant to an Object variable, nothing in the language definition says a new object *must* be created. It may reuse an existing object from cache.

In fact, the JVM will usually store a cache of small Integers for this purpose, as well as values such as Boolean.TRUE and Boolean.FALSE.