static-initializer

Static initializer in Java

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 final int a; static { a = 5; doSomething(a); } private s...

Invoke static initializer

Once a class is loaded is there a way to invoke static initializers again? public class Foo { static { System.out.println("bar"); } } Edit: I need to invoke the static initializer because I didn't write the original class and the logic I need to invoke is implemented in the static initializer. ...

Can I guarantee the order in which static initializers are run in Java?

I have a Set class (This is J2ME, so I have limited access to the standard API; just to explain my apparent wheel-reinvention). I am using my set class to create constant sets of things in classes and subclasses. It sort of looks like this... class ParentClass { protected final static Set THE_SET = new Set() {{ add("one"); ...

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 of including the code in a constructor? I've thought of a couple obvious possibilities: ...

Are Java static initializers thread safe?

I'm using a static code block to initialize some controllers in a regsitry 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 guarantee when this code block will be called, Im guessing its when the Classloader first loads ...

Static initializers and thread synchronization (.NET)

Static initializers are supposed to be executed once before the first reference to the class. It means that every time a class is accessed, a check should be performed whether the static initializers for the class are executed. It seems that in multithreaded environment classes with non-trivial static initializers can be a source of cont...

What benefits does main(...) provide over using a static-initializer as a pseudo entry-point?

The entry point into a program in java is typically something like this // MyMain.java public class MyMain{ //whatever public static void main(String args[]){ System.out.println("balderdash"); } } However, since there is only the one SOP in main, the above class may be like this instead ...

How should I make up for the lack of static initializers in PHP?

I'm thinking about putting every class into a separate file and doing the static initialization outside of the class definition. The problem with this is the fact that the initialization will happen before the said class is actually needed (it will happen when the file which contains the class is included for the first time). It's a pro...

C#: Initialization Order of Static Fields in Static Class

Hello, 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 assign to myCharsSize? ...

Java newbie question: static{}?

Can someone explain me what the following is? public class Stuff { static { try { Class.forName("com.mysql.jdbc.Driver"); } catch ( ClassNotFoundException exception ) { log.error( "ClassNotFoundException " + exception.getMessage( ) ); } ... } What does th...

C++0x static initializations and thread safety

I know that as of the C++03 standard, function-scope static initializations are not guaranteed to be thread safe: void moo() { static std::string cat("argent"); // not thread safe ... } With the C++0x standard finally providing standard thread support, are function-scope static initializations required to be thread safe? ...

In what order do static 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 classes, but some sample code I wrote disagrees with that. I used this code: package pkg; ...

C code involving {}

I saw this in some C code: Wininfo W = { sizeof(Wininfo) }; What the heck does this mean? ...

Exception in static initialization block

Why doesn't Java allow to throw an exception from static initialization block? What was the reason behind this design decision? Any help would be greatly appreciated. Thanks. ...

Use of static init block

I know how a static init block works. Can anyone please tell me some typical uses of it. ...

get static initialization block to run in a java without loading the class

I have a few classes as shown here public class TrueFalseQuestion implements Question{ static{ QuestionFactory.registerType("TrueFalse", "Question"); } public TrueFalseQuestion(){} } ... public class QuestionFactory { static final HashMap<String, String > map = new HashMap<String,String>(); public static void...

Strange exception while using linq2sql

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.ArgumentNullException: Value cannot be null. Parameter name: mapping Source Error: Line 45: #endregion Li...

Static initialization of a struct with class members

I have a struct that's defined with a large number of vanilla char* pointers, but also an object member. When I try to statically initialize such a struct, I get a compiler error. typedef struct { const char* pszA; // ... snip ... const char* pszZ; SomeObject obj; } example_struct; // I only want to assign the first f...

Java - Class type from inside static initialization block

Is it possible to get the class type from inside the static initialization block? This is a simplified version of what I currently have:: class Person extends SuperClass { String firstName; static{ // This function is on the "SuperClass": // I'd for this function to be able to get "Person.class" without me //...

Best way to force a Java class to be loaded

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. ...