I have Util classes where i have many methods to be used in all over project. My question is - considering memory heap, performance what is best to use a static method by class reference or non static method called by object of that class. For example:
public class Utilities {
    private static Utilities utils;
    public static Utilities getInstance() {
        if (utils == null)
            utils = new Utilities();
        return utils;
    }
    public static void someMethod() {
    }
    public void someMethod2() {
    }
}
and
public static void main(String[] args) {
    Utilities.someMethod();
    Utilities.getInstance().someMethod2();
}
Which is correct way for my requirement?
 
    