java运行顺序-JVM之九
简化顺序版本是:
- 父类的静态成员赋值和静态块,代码排版先后顺序执行,只运行一次
- 子类的静态成员赋值和静态块,代码排版先后顺序执行,只运行一次
- 父类代码块
- 父类构造方法
- 子类初始化块
- 子类构造方法
再次构造子类,将重复3/4/5/6步骤
总之:见到静态必先行-》类中代码块-》构造。
public class Hello {
static class A{
static C c =new C();
public A(){
System.out.println("A's Constructor");
}
static {
System.out.println("A's static ");
}
}
static class B extends A{
public B(){
System.out.println("B's Constructor");
}
D d = new D();
C c =new C();
static {
System.out.println("B's static ");
}
}
static class C {
public C(){
System.out.println("C's Constructor");
}
static {
System.out.println("C's static");
}
}
static class D{
public D(){
System.out.println("D's Constructor");
}
static {
System.out.println("D's static");
}
}
public static void main(String args[]){
System.out.println("start");
B b = new B();
}
}
结果:
start
C's static
C's Constructor
A's static
B's static
A's Constructor
D's static
D's Constructor
C's Constructor
B's Constructor
第二例子:
http://blog.csdn.net/wenwen091100304/article/details/49488137
java运行顺序-JVM之九的更多相关文章
- Java类的基本运行顺序是怎样
我们以下面的类来说明一个基本的 Java 类的运行顺序: public class Demo{ private String name; private int age; public Demo(){ ...
- Java类的基本运行顺序
不看不知道,一看还真吓了一跳!Java类的基本运行顺序你真的知道吗?如果你有疑惑,那就看下面这篇文章吧. 原文出自:[url]http://column.ibeifeng.com/chenchen ...
- 【Java】关于JVM运行时内存空间、JVM垃圾回收机制
参考的优秀文章 <深入理解Java虚拟机 JVM高级特性与最佳实线>(机械工业出版社) Java虚拟机的堆.栈.堆栈如何去理解? 聊聊JVM的年轻代 前言 本文是<深入理解Java虚 ...
- Jvm基础(1)-Java运行时数据区
最近在看<深入理解Java虚拟机>,里面讲到了Java运行时数据区,这是Jvm基本知识,把读书笔记记录在此.这些知识属于常识,都能查到的,如果我有理解不对的地方,还请指出. 首先把图贴上来 ...
- Java内存管理:Java内存区域 JVM运行时数据区
转自:https://blog.csdn.net/tjiyu/article/details/53915869 下面我们详细了解Java内存区域:先说明JVM规范定义的JVM运行时分配的数据区有哪些, ...
- Java知多少(23)类的基本运行顺序
我们以下面的类来说明一个基本的 Java 类的运行顺序: public class Demo{ private String name; private int age; public Demo(){ ...
- jvm系列(九):Java GC 分析
Java GC就是JVM记录仪,书画了JVM各个分区的表演. 什么是 Java GC Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之 ...
- [Java学习] Java类的基本运行顺序
我们以下面的类来说明一个基本的 Java 类的运行顺序: 1. public class Demo{ 2. private String name; 3. private int age; 4. 5. ...
- JVM发展史和Java运行时内存区域
目前三大主流JVM: Sun HotSpot:Sun于1997年收购Longview Technologies公司所得.Sun于2009年被Oracle收购. BEA JRockit:BEA于2002 ...
随机推荐
- django模型层之多表操作 增删改查
多表操作之创建模型 这边以书为中心创建一个模型 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息.作者详情模型和作者模型之间是一对一的关系(on ...
- kafkaconsumer SimpleExample
package kafka.simple; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.Colle ...
- html样式
<!doctype html> <html> <head> <style id="mceDefaultStyles" type=" ...
- selenium处理页面select元素
selenium为网页中选择框元素的获取特别引入了一个Select对象, 引入对象的方式: from selenium.webdriver.support.ui import Select 查询文档可 ...
- 6-----selenuim和phantonJs处理网页动态加载数据的爬取
动态数据加载处理 一.图片懒加载 什么是图片懒加载? 案例分析:抓取站长素材http://sc.chinaz.com/中的图片数据 #!/usr/bin/env python # -*- coding ...
- 从零开始使用vue-cli搭建一个vue项目及注意事项
一.安装node.js 1.根据电脑的自行下载node.js安装包http://nodejs.cn 2.点击安装,按照正常的的一路点击下去 3.验证安装是否成功,按键win+r,输入cmd打开命令行工 ...
- Factorization Machines with libFM 论文阅读
Factorization Machines with libFM https://pan.baidu.com/s/1aAyhHGNSrZQFDfoz8VsHIQ libFM网站:http://www ...
- FIR IIR数字滤波器特点简介
FIR:有限脉冲滤波器,线性较好,用非递归算法,可用FFT,计算速度快,不用四舍五入,适合于对相位敏感的线性应用场合,设计灵活没有现成公式可用. 输出与现在和过去的输入有关. IIR:无限脉冲滤波器, ...
- javascript中typeof与instanceof的区别
JavaScript 中 typeof 和 instanceof 常用来判断一个变量是否为空,或者是什么类型的.但它们之间还是有区别的: typeof typeof 是一个一元运算,放在一个运算数之前 ...
- jQuery学习心得
表示在document.ready时执行代码 $(function(){ //1.取得要操作的对象(尽量只限制范围),如果对象多次使用要记得缓存 var $selector = $('selector ...