类的加载顺序

问题描述

在java中,例如在一个Student类中,其属性和方法就不详细的介绍了,在Students1=newStudent();和Students2=newStudent()他们的加载顺序?是怎么加载的?

解决方案

解决方案二:
按照创建的顺序加载,由ClassLoader加载的
解决方案三:
建议多看书,你这提问说实话看不懂,只有Student一个类,何谈顺序
解决方案四:
按你写代码的顺序加载咯
解决方案五:
肯定有Object了,然后在加载你运行的那个类的字节码,然后在加载Studet的字节码,初始化静态变量,然后是构造方法
解决方案六:
有点不明白楼主的,是两个对象的实例的加载?如果是类成员的加载,可以打印输出就能看见顺序了
解决方案七:
哈哈~建议多看看CoreJava,
解决方案八:
引用4楼dzq584462393的回复:

肯定有Object了,然后在加载你运行的那个类的字节码,然后在加载Studet的字节码,初始化静态变量,然后是构造方法

正解。看是否有继承父类,一级级往上面找,父类可能还有父类,这样一直下去,先加载最上面的,按顺序下来,最后才是自己。
解决方案九:
栈上出现一个名字为s1的引用变量,堆中划出一个区域,再根据方法区的student类信息在那个堆区域中产生一个对象,先有空间,再有对象属性(默认值,eg:0,false,null。。。),再初始化。最后把这个对象的引用赋给s1.大概就这样,很粗浅,省略很多细节
解决方案十:
关于jvm.ClassLoader等,网上看看类的加载顺序
解决方案十一:
引用9楼rui888的回复:

关于jvm.ClassLoader等,网上看看类的加载顺序

半个月了你去哪里了才来
解决方案十二:
引用10楼magi1201的回复:

Quote: 引用9楼rui888的回复:
关于jvm.ClassLoader等,网上看看类的加载顺序

半个月了你去哪里了才来

忙,恩最近都没怎么上。
解决方案十三:
该回复于2014-09-22 08:44:53被版主删除

时间: 2024-11-03 21:10:37

类的加载顺序的相关文章

static-多个包含静态变量类的加载顺序???

问题描述 多个包含静态变量类的加载顺序??? 有三个类,SingletonCounter.Test.Singleton,里面都包含了静态变量,SingletonCounter.Test结构差不多,Singleton包含了静态构造函数,静态属性等,将三个类的行都打上断点(需要断点的行有注释--加断点调试),当调试的时候,为什么总是最后执行到SingletonCounter的静态变量instance上??? 测试了很多,和Singleton类的静态构造函数有关,望指点一二,谢谢!!! using S

代码分析-一道Java笔试题,求解答(关于类的加载与初始化)

问题描述 一道Java笔试题,求解答(关于类的加载与初始化) 自己查了一些资料,还是看不懂这个程序的输出结果,求各位详细解释初始化和执行过程,谢! public class Alibaba { public static int k = 0; public static Alibaba t1 = new Alibaba("t1"); public static Alibaba t2 = new Alibaba("t2"); public static int i =

web.xml 中的listener、 filter、servlet 加载顺序及其详解

在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰.         首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关.即不会因为 filter 写在 listener 的前面而会先加载 filter.最终得出的结论是:listener -> filter -> servlet         同时还存在着这样一种配置节:context-pa

web.xml中的所有配置,Listener和Filter的加载顺序

web.xml 中的listener. filter.servlet 加载顺序及其详解 在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰.         首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关.即不会因为 filter 写在 listener 的前面而会先加载 filter.最终得出的结论是:listener -> filter

tomcat 加载顺序

一. 1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文. 3.容器将<context-param>转换为键值对,并交给servletContext. 4.容器创建<listener>中的类实例,创建监听器. 二. load-on-startup 元

JavaWeb中web.xml初始化加载顺序

需求说明 做项目时,为了省事,起初把初始化的配置都放在每个类中 static加载,初始化配置一多,就想把它给整理一下,这里使用servlet中的init方法初始化. web.xml说明 首先了解下web.xml中元素的加载顺序: 启动web项目后,web容器首先回去找web.xml文件,读取这个文件 容器会创建一个 ServletContext ( servlet 上下文),整个 web 项目的所有部分都将共享这个上下文 容器将 转换为键值对,并交给 servletContext 容器创建 中的

java 中类的加载顺序(转)

1.虚拟机在首次加载Java类时,会对静态初始化块.静态成员变量.静态方法进行一次初始化 2.只有在调用new方法时才会创建类的实例 3.类实例创建过程:按照父子继承关系进行初始化,首先执行父类的初始化块部分,然后是父类的构造方法:再执行本类继承的子类的初始化块,最后是子类的构造方法 4.类实例销毁时候,首先销毁子类部分,再销毁父类部分 public class Parent { public static int t = parentStaticMethod2(); { System.out.

关于JSP配置文件web.xml加载顺序详解_JSP编程

一. 1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<context-param>和<listener>两个结点. 2.紧急着,容创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文. 3.容器将<context-param>转换为键值对,并交给servletContext. 4.容器创建<listener>中的类实例,创建监听器. 二. load-on-startup 元

Java中类的加载顺序剖析(常用于面试题)_java

这其实是去年校招时我遇到的一道阿里巴巴的笔试题(承认有点久远了-.-),嗯,如果我没记错的话,当时是作为Java方向的一道选做大题.当然题意没有这么直白,题目只要求你写出程序运行后所有System.out.println的输出结果,其中程序是题目给的,而各个System.out.println的执行顺序不同会导致最后程序输出的结果也不同. 具体的题目我肯定记不清,不过我们可以换个直接的问法,如果类A和类B中有静态变量,静态语句块,非静态变量,非静态语句块,构造函数,静态方法,非静态方法,同时类A