Q:

Java GregorianCalendar lightweight

Is the java.util.GregorianCalendar a lightweight object? In other words, does calling the constructor in a web application setting with each request extract nothing more than a trivial performance penalty, or does it pay to cache a copy of the object for shared use by the application?

A:

You can improve the performance of GregoianCalendar by caching/sharing the TimeZone and Locale which are immutable.

Is the java GregorianCalendar a lightweight object?

If by lightweight you mean; like a balloon made of concrete. ;)

does calling the constructor in a web application setting with each request extract nothing more than a trivial performance penalty

Its can be relatively trivial compared to everything else you are doing.  You can't know until you cpu profile the application.

does it pay to cache a copy of the object for shared use by the application

Only if you treat the objects as immutable (which may not be very useful)
Using a shared mutable GregorianCalendar could introduce bugs which are far worse than running a little bit slow.
BTW: I would consider using JodaTime. It is slight faster but generally better to use.

