Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!news-out.readnews.com!transit3.readnews.com!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail From: Lew Newsgroups: comp.lang.java.programmer Subject: Re: trigger static init Date: Mon, 9 Apr 2012 10:33:56 -0700 (PDT) Organization: http://groups.google.com Lines: 21 Message-ID: <1103350.523.1333992836819.JavaMail.geo-discussion-forums@pbvs10> References: <5605o7di8le7conanmf0g70p1ltipeqct4@4ax.com> NNTP-Posting-Host: 69.28.149.29 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: posting.google.com 1333992914 9290 127.0.0.1 (9 Apr 2012 17:35:14 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Mon, 9 Apr 2012 17:35:14 +0000 (UTC) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=69.28.149.29; posting-account=CP-lKQoAAAAGtB5diOuGlDQk0jIwmH0T User-Agent: G2/1.0 Xref: csiph.com comp.lang.java.programmer:13461 Roedy Green wrote: > Jukka Lahtinen wrote, quoted or indirectly quoted someone who said : >>, you can refer to some public static attribute >>of the class. > > But it had better not be a static final known at compile time, or it > will be optimised to a literal and referencing it won't load the > class. > > I decided to handle it by putting in dummy public static void fireup() > methods that as a side effect load the class and run static init. If I > fail to call them, class loading is just procrastinated until first > use. Two questions: Why is it important to control when the class loads, instead of using the default? What was wrong with 'Class#forName()', which is intended for the purpose and is not a hack? -- Lew