Questions tagged [static-initializer]

The static initializer is a static {} block of code inside java class, and run only one time before the constructor or main method is called.

89 questions
379
votes
9 answers

What is the difference between a static and a non-static initialization code block

My question is about one particular usage of static keyword. It is possible to use static keyword to cover a code block within a class which does not belong to any function. For example following code compiles: public class Test { private static…
Szere Dyeri
  • 14,916
  • 11
  • 39
  • 42
144
votes
6 answers

Are Java static initializers thread safe?

I'm using a static code block to initialize some controllers in a registry I have. My question is therefore, can I guarantee that this static code block will only absolutely be called once when the class is first loaded? I understand I cannot…
simon622
  • 3,248
  • 3
  • 19
  • 12
144
votes
8 answers

Why doesn't Java allow to throw a checked exception from static initialization block?

Why doesn't Java allow to throw a checked exception from a static initialization block? What was the reason behind this design decision?
missingfaktor
  • 90,905
  • 62
  • 285
  • 365
113
votes
10 answers

Use of Initializers vs Constructors in Java

So I've been brushing up on my Java skills as of late and have found a few bits of functionality that I didn't know about previously. Static and Instance Initializers are two such techniques. My question is when would one use an initializer instead…
105
votes
8 answers

In what order do static/instance initializer blocks in Java run?

Say a project contains several classes, each of which has a static initializer block. In what order do those blocks run? I know that within a class, such blocks are run in the order they appear in the code. I've read that it's the same across…
Pops
  • 30,199
  • 37
  • 136
  • 151
79
votes
8 answers

Java enum reverse look-up best practice

I saw it suggested on a blog that the following was a reasonable way to do a "reverse-lookup" using the getCode(int) in a Java enum: public enum Status { WAITING(0), READY(1), SKIPPED(-1), COMPLETED(5); private static final…
Armand
  • 23,463
  • 20
  • 90
  • 119
59
votes
3 answers

Initialization Order of Static Fields in Static Class

given the following code: public static class Helpers { private static Char[] myChars = new Char[] {'a', 'b'}; private static Int32 myCharsSize = myChars.Length; } Is it guaranteed that myChars will be initialized before I use its length to…
Alex
  • 75,813
  • 86
  • 255
  • 348
49
votes
6 answers

How to force a class to be initialised?

What is the best and cleanest way to do this? Specifically, I need some code in a static initializer block to run in that class, but I'd like to make this as clean-looking as possible.
Artem
  • 6,420
  • 6
  • 26
  • 26
21
votes
4 answers

Program hangs if thread is created in static initializer block

I have come across a situation where my program hangs, looks like deadlock. But I tried figuring it out with jconsole and visualvm, but they didn't detect any deadlock. Sample code: public class StaticInitializer { private static int state =…
thomas
  • 310
  • 2
  • 12
14
votes
2 answers

Kotlin - Is it possible to initialize companion object before the init block in a class?

Is it possible to initialize an companion object before the init block in a Kotlin class? If so, how? If not, is there a way to accomplish the same thing. I have the following scenario, class A(val iname: String) { init { foo.add(this) } …
Filip Allberg
  • 3,941
  • 3
  • 20
  • 37
12
votes
2 answers

How do you disable lazy class loading/initialization in Sun's JVM?

By default, Sun's JVM both lazily loads classes and lazily initializes (i.e. calls their methods) them. Consider the following class, ClinitBomb, which throws an Exception during a static{} block. public class ClinitBomb { static { …
jade
  • 744
  • 5
  • 16
11
votes
6 answers

.crt section? What does this warning mean?

I've got this warning recently (VC++ 2010) warning LNK4210: .CRT section exists; there may be unhandled static initializers or terminators I'm assuming this is the Critical Section. It's been a while since my Operating Systems course, so I can't…
MGZero
  • 5,812
  • 5
  • 29
  • 46
11
votes
7 answers

How to check whether a class is initialized?

You'll probably ask, why would I want to do that - it's because I'm using a class (from an external library) which does stuff in its static initializer and I need to know whether it's been done or not. I looked at ClassLoader, but didn't find…
mik01aj
  • 11,928
  • 15
  • 76
  • 119
11
votes
6 answers

how to register a java class if the static initializer isn't called till the class is referenced

I've an interface implemented by classes that perform a file processing, say searching or whatever. public interface FileProcessorInterface { public void processFile(String fileName); } Then i have a different implementation for each file…
AgostinoX
  • 7,477
  • 20
  • 77
  • 137
10
votes
4 answers

How can I add javadoc to a static initializer in Java?

I have refactored a class and moved some code from the constructor to a static initializer. What should I do with the javadoc that was on the constructor? Is it possible to add javadoc to a static initializer?
tttppp
  • 7,723
  • 8
  • 32
  • 38
1
2 3 4 5 6