memory allocation



Share on Google+Share on Google+

himanshu bhardwaj
memory allocation
2 Answer(s)      4 years and 10 months ago
Posted in : Java Beginners
class Bird {
{ System.out.print("b1 "); }
public Bird() { System.out.print("b2 "); }
class Raptor extends Bird {
static { System.out.print("r1 "); }
public Raptor() { System.out.print("r2 "); }
{ System.out.print("r3 "); }
static { System.out.print("r4 "); }
class Hawk extends Raptor {
public static void main(String[] args) {
System.out.print("pre ");
new Hawk();
System.out.println("hawk ");

What is sequence of execution of statement ? memory allocation ?

View Answers

July 5, 2012 at 5:16 PM

The code uses static and instance init blocks. Static init blocks are executed only once the first time the class is loaded. Instance init blocks are executed every time a new instance of the class (object) is created, just after the call to super() from any subclasses constructors. Based on that fact, we can see that when the program is run, the class Hawk is loaded, as its super class Raptor, and the super-super class Bird. In the case of Raptor, there are two static init blocks, and they are executed in the order in which they appear in the class file. So, output begins with: r1 r4

There are no other static init blocks so the next thing that happens is back in the main method where we have the:

r1 r4 Pre

Next, we create an instance of our Hawk class. When this object is created, the non-static init blocks are executed. They are executed just after the call to the super() constructor, so the first one that will be executed is in the top of the object tree, and we get b1, and the the super-super constructor runs and we get b2.

r1 r4 Pre b1 b2

In the Raptor class, the non static-init block runs followed by the constructor in the Raptor class runs, so we get r3 r2. Finally, we end with the System.out.println in the last section that displays "hawk ".

The final result is:

r1 r4 Pre b1 b2 r3 r2 hawk

July 5, 2012 at 10:03 PM

what are the instance init block.? can you give me an example illustrating when the init block are called every time the new instance of the class is created. instance is something like if demo is a class demo d1 or new demo(). Thank you .


Related Tutorials/Questions & Answers:
memory allocation
memory allocation   class Bird { { System.out.print("b1 "); } public Bird() { System.out.print("b2 "); } } class Raptor extends Bird { static... of execution of statement ? memory allocation ?  The code uses static
memory allocation
memory allocation  If we assign memory malloc(5) and access more than the assigned memory then what will happen? 1.segmentation error 2.memory leak 3.program will not compile 4.Your view
Memory Allocation
Memory Allocation  What Is The Order Of Execution Of Statement 1) Statement Enclosed in {}. 2) Static 3) Public Static Void Main()   When jvm loads a class, static block is executed first, then main method. And at last
Java memory allocation
Java memory allocation  How does Java allocate stack and heap memory
Java Memory allocation - Java Interview Questions
Java Memory allocation  By default what is the memory allocation size for a single class? How the memory is allocated? Based on what procedure
java memory allocation for member variables and member functions
java memory allocation for member variables and member functions  ... an object q of test class then when shall the memory be allotted for function fun...() that has three variables a=5,b=6.My questions are 1>When will the memory be allotted
Controlling Java Heap Size Memory Allocation
Controlling Java Heap Size Memory Allocation  Hi, Tell me about Controlling Java Heap Size Memory Allocation? I have to run java program from console and allocate 2GB of RAM to Java Heap Size. Thanks   Hi, You can
memory  what is memory
Memory   what is the different between heap memory and stack memory ? please explain with example
memory   hi i am jane pls explain the difference between heap memory and stack memory
memory management
memory management  memory management in java
memory management
memory management  Why objects store in heap
Phantom memory
Phantom memory  What is phantom memory
Phantom memory
Phantom memory  hello,, What is phantom memory
memory layout
memory layout  how much space does each segement(data,stack,heap,static) holds in memory? memory here refers to ram or hard disk
heap memory
heap memory  how long is the object stored in heap memory persist
Memory Management
Memory Management  how can we manage memory in iphone development???   hello, you can read all the memory management rules from
Java memory leak
Java memory leak  What is memory leak
Creating a memory leak with Java
Creating a memory leak with Java  Creating a memory leak with Java
heap and stack memory
the difference between heap memory and stack memory   STACK memory is referred as temporary memory,if you come out of the program the memory of the variable will not no more there.[eg., int a; memory for a will not maintained
Main memory is also known as
Main memory is also known as   Main memory of a computer is also known
memory areas in jvm
memory areas in jvm  what are different memory areas in jvm?plz elaborate their significance
NSMutablestring memory leak
NSMutablestring memory leak  Why i am getting the nsmutablestring memory leak "NSCFString" leak
heap memory in j2me
heap memory in j2me  how to get j2me heap memory size
Memory - Java Beginners
Memory management in Java  Where are these Heap and Stack? Is there size fixed? what is core area in memory
iphone memory management
iphone memory management  I am confused with the memory management issue in iPhone. I do not know which variable need to release
heap and stack memory
heap and stack memory   hi i am jane pls explain the difference between heap memory and stack memory with example programs
Java memory optimization
Java memory optimization  When you think about optimization, what is the best way to find out the time/memory consuming process?  Hi, You can use memory dump and then analyze it to find the process/java code in your
memory span and shrink - pointers
memory span and shrink - pointers  Memory span and shrink as per application requirement and this is one of major advantage of pointer. please explain the above statment with an example with respect to c
UIImage imagenamed memory leak
UIImage imagenamed memory leak  Hi, Following code is creating memory leak: UIImage * img1 = [UIImage imageNamed:@"myimage.png"]; I have to replace existing image with new image. What could be the possible solution? Thanks
Java Array Initialization
Java Array Initialization       After declaring an array variable, memory is allocated to it. The "new" operator is used for the allocation of  memory
Java Spring Hibernate Struts Training What type of programming language is Java? How do beginners learn about Java? ClassNotFoundException HttpRequestInterceptor java.lang.noclassdeffounderror: org/apache/http/httprequest noclassdeffounderror: org/apache/http/client/methods/httpurirequest java.lang.NoClassDefFoundError: org/apache/http/client/HttpClient How do I resolve this Java Class not found exception? httpclient java.lang.NoClassDefFoundError Apache Commons ioutils maven dependency Read/Convert an inputStream to a String What is the meaning of Java Platform? Why Java is a platform independent language? What is the benefits of learning Core Java? Which technology should I learn after Java? What is array in java with example? How to Convert ArrayList to Array? How to substring in Java? How to format number in Java? What is instance variable in Java? How to download MySQL JDBC driver? What is Calendar class in Java? Which is the best Java tutorials for beginners? How to rename a file in Java? How to delete file in Java code? How to get day from date in Java using Calendar? How to get day of week in Java? How to calculate Date Difference in Java? How to compare date in Java? How to declare array in Java? How to calculate average of array in Java? What is Array in Java? write a java program to find the summation of all the integers entered on command line Sum of two numbers using command line arguments in Java How to create and use Array in Java? How to pass command line arguments in Java? How to create Applet Hello World? Appending String efficiently in Java How to append String in Java? How to list even numbers between 1 and 100? How to add BigDecimal in Java? What is Abstraction In Java? Which is best Beginners Java Tutorial? What is java.util package? Create list from array in Java Filter collection in Java 8 What is the best way to filter a Java Collection? Easy way to transform Collection to Array? How to convert Collection to Array in Java? What are Basic Java Language Elements? Advanced Java Tutorials in 2017


Advertisement null