It feels more and more like you don't even read what I write and are on some kind of strange religious battle trying to explain that java is evil (even though admittedly you do it by making claims that are at best misleading and in some cases even right out false)?!

Well, one more reply trying to explain my views on your claims comes here...
1.) It is not a singleton.
What is not a singleton?
You pass singleton as around as a reference or a pointer.
If you like too, I see no problem with that yes (even though I don't use singletons much- when I do, I usually don't "pass them around")
This does not work in java, because you have to duplicate the class. Dupe != singleton.
Here you're making a claim that I don't understand - please explain. Duplicate the class!?
Read "Design Patterns" p149, it'll explain you why "Java singleton" is a gimmick
I don't have a copy of that book here (vaccation).
(not even a hack because you can't have single access to a class everywhere.
In reality no (as you can have multiple java vm's running)
But then you could argue that you can't have any singleton whatsoever (another OS running, another machine running ad absurdum...)
2.) Globals: A class that has members accessible any class without construction can easily be considered global class.
Not a java class - unless our definition on global is different. My is something like this:
Global:
* Everybody can access
* Don't belong to a namespace (i.e. it can clash with another global somewhere in a source tree)
A java class is clearly not a global according to neither of those two requirements.
Globals have few uses, mainly when working with hardware, but usually then it is a design flaw.
I agree that usually globals are a design flaw.
If you take into account what princec said, your singleton is not a singleton. If you can show me a way to implement a true singleton in java I'll let you have my manbabies.
If you take it ad absurdum you can never have a singleton...
And I showed you a pretty good singleton above
<flamesuite on>
even though it obviously didn't fit your belief in the mighty über-singletons religion
</flamesuite off>
Anyway: but as I said: If the same class (the "singleton") is loaded by two different classloaders you *can't* use both of them as the *same singleton* (i.e. they are both singletons - but different - strange, yes, but then so is most of computer science theory) - you will get a ClassCastException (IIRC) as they are no longer *the same singleton* / they are *different*.
This is considered a global in java.
Well, then - if you could provide your defintion of globals maybe we could call that
Captain-Goatse Globals, or short form CGG

Now you can do all smarty things like information hiding and stuff, but it is still a global if you access it Global.fag instead through the constructed object.
public class Global{
public static fag;
publiv static hat;
}
now you can access anything Global.fag ot Global.hat.
Above makes no sense, first of all I guess you mean that Global is just a class with two public static Singleton classes member variables (case is misleading though)?
Not sure what this got to do with globals, except that it is providing a good lesson in bad design.
2.1) You should use static member functions only when you are handling static member, for example returning it. Other wise you'll get big cross overs in class hierarchies again.
Now your getting religious again

, my oppinion is that use what works - and static methods are a great way to provide utility methods (Math.sin etc etc)
Concerning tips: No I don't see the light.
Well, the point was that you can have different visibillity on java classes - thus breaking one of the fundamental properties of a "global".
That is just plain bad design and I hope your co-workers appreciate your insightful addition to the world of design.
touché, well I don't have any problems with constructive critique

Personally, I'd never use singleton, because there are so many oppoturnities to miss when using a singleton and when you miss, other people who read your code can't understand it and your classes will be worthless considering future usage..
Singletons have their uses.
Tthere are probably better designs available when you use one - but then, who cares, if it works, it's documented and not totally confusing?
If you don't use class hierarchies and proper encapsulation your code will be only good for yourself.
Nope, that's religous OO talk - there are many ways to design, OO is just one of them.
Only way I can think of having a singleton in java is using the VM namespace and declaring a class with static methods only that never gets constructed. However this again imposes some problems and is bad design.
VM namespace? You lost me there
