首先,static模块在类加载中首先会被加载且只会被加载一次,构造函数则可以多次加载。
加载顺序为:static模块、构造方法
static {
}
静态块的特点是在类加载的时候就执行,先说一下类加载,一个程序要想运行,首先要把代码加载到内存中对吧?然后才能去和CPU交流,这是冯诺依曼计算机规定的。Java也是一样,Java的.class字节码文件要想执行,首先也要加载到内存,由类加载器把字节码文件的代码加载到内存中,这一步就叫类加载,这是首先要进行的。
public class Test {
static {
System.out.println("我是静态块");
}
}
当创建Test类的一个对象的时候,比如new Test() ,是这样,首先是类加载,然后才能new对象,静态块在类加载的时候就执行了,这就说明静态块在new对象之前就会执行,而且一个类在第一次被使用的时候会被加载,然后在整个应用程序的生命周期当中不会再次被加载了,就加载这一次,所以这就说明,静态块就执行一次,不会执行第二遍!
static {public class Test {
public Test() {// 构造方法
System.out.println("我是构造方法,创建对象的时候我会执行,我执行完,对象就造出来了");
}
System.out.println("我是静态块,类加载的时候我就执行了,而且只执行这一次");
}
}
然后这样:
new Test();
new Test();
你会发现首先打印出静态块的信息,然后才打印出构造方法信息,然后再次new Test();的时候,只打印出了构造方法的信息,这个例子证明了我上面说的是对的!
这就是静态块,至于静态块中初始化Map。 初始化这几个字很难讲他的意思,意思包括
把一些内容设为默认状态、把没准备的准备好、在什么什么之前就怎么怎么样、将变量赋为默认值,等等,这个不能精确的说,只能就事说事,下面就可以说是在静态块中初始化Map,
public class Test {
private static Map m;
static {
m = new HashMap();
}
}
分享到:
相关推荐
GPS快速静态相对定位精度分析.pdf
ASP.net快速生成静态页,只须 嵌入aspx页面就可生成静态页,
GPS单基线静态、快速静态及RTK精度比较探讨.pdf
本文提供了一种基于静态缩减法快速求解活塞环接触节点位移的数值方法。通过对活塞环的整体刚度矩阵进行静态缩减,得到接触刚度矩阵,从而将接触节点的位移与接触力联系起来。给定任意接触压力,可以快速求解相对应的...
现在,本书提供了一份关于静态分析的完整指导:如何进行静态分析,如将其集成到软件开发过程以及如何在代码安全审查期间最大化其功效等。静态分析专家BrianChess和JacobWest探讨了当前最为常见的安全缺陷类型。他们...
基于云计算的电力系统快速静态安全分析方法.pdf
国外优秀网站模板,快速开发利器之三,整站静态页面 css,html,js
首页静态页面生成工具 需要安装.net framework
mkdocs:用 Python 开发的快速、简单的静态网站生成器,主要是为了构建项目的文档。文档源是 markdown 文件,用法和 Hexo 差不多,可通过一个 YAML 文件进行配置
南方GNSS解算软件支持BD等,2018年最新的软件,非stc可比的
快速潮流计算用于计算静态电压, 在电气方面应用广泛。 潮流计算
逆向微信-分析学习微信是如何快速构建静态TableView界面的
为探索快速有效的桥梁普查新方法,分析了传统的承载能力评定准则,通过承载能力基本理论和动力学与静力学的有机结合,提出用动态车辆挠度曲线取代静态挠度影响线的荷载试验改良模式-拟静态挠度法,评定中小跨径...
asp生成静态页面代码,方便你怎么样快速的生成静态页面
伪静态页面生成技术|静态页面|生成技术|让你做网能更快的被收录!seo优化
dz论坛伪静态
支持全站一键式静态生成,系统采用先进的AJAX技术与XML技术相融生成静态,速度更快!软件代码多重过滤可以第一时间被搜索引擎收录,独特的静态生成算法可以大大减轻服务器的负担,无论在生成速度还是安全方面都达到...
可能是最全的Redis静态工具类,拿来即用,随时随地RedisUtils.方法名()存取数据,每个方法都有对应的注释,快速上手!
Fine 是帮助你快速生成静态网站的工具,你可以用它为自己的项目快速生成文档而不用关心样式、部署的问题。甚至你可以用 fine 来生成自己的博客,fine 为任何一个项目都提供了独特的域名。
Publii一个支持Windows和Mac基于桌面的CMS,即使对于初学者来说,也可以快速轻松地创建静态网站