Question: Say we have the following classes:

```
class DoubleOhSeven {
  public static void doSomethingClassy();
  public static void neverDoThisClassy();
}

class Dude {
  public void doSomething();
  public void neverDoThis();
}

public class Party {
  public static void main(String[] args){
    DoubleOhSeven.doSomething();
    Dude guy = new Dude;
    guy.doSomething();
  }
}

```

Of course, all the methods will be compiled into their respective `.class`: do the unused static/instance methods occupy memory at run time? What about unused inherited or imported methods?

Answer: 
The memory used by an instance of a class `Abc` does not depend on how many methods there are in `Abc`.

The generated bytecode obviously does increase in size when you add methods, whether they do something or not, but that would only affect the size of the class object `Abc.class`, which is loaded only once, regardless of how many instances are created.
The unused methods inrease the class size, but classes are stored in a so called PermGen memory. The heap memory, where regular java objects are stored, is not affected by class size