java类中 static静态代码块的执行次数

1、在类加载的init阶段,类的类构造器中会收集所有的static块和字段并执行,static块只执行一次,由JVM保证其只执行一次。

2、直接看示例

public class TestStatic{

public static String name = "";

static{

System.out.println("init ....");

name = "admin";

}

public static String getName(){

return name;

}

public static String getIdAndName(int id){

return id + "---" + name;

}

public static void main(String[] args) {

String name = TestStatic.getName();

String idAndName = TestStatic.getIdAndName(888);

System.out.println(name);

System.out.println(idAndName);

}

}

对执行结果分析:

在调用TestStatic类中任何一个方法时,jvm进行类加载,static语句块是在类加载器加载该类的最后阶段进行初始化的。并且只会被初始化一次。

若一次性调用多个方法,则只会执行一次static代码块。

说明:static语句块,不是在实例化的时候被执行的。

三、static代码块的使用

1、项目对某些数据进行初始化,可以在两个地方处理。

第一、就是在项目启动时,加载某个类,对数据进行数据化(如:初始化基础数据或数据库连接池)。

第二、就是在某个工具类中使用static静态代码块,当第一次访问工具类时,就会先进行初始化(只会执行一次),保存到静态全局属性中,当其他类再次访问时,将直接使用初始化数据(如:连接redis数据库,并初始化连接池)。

2、缓存数据

分享到:

2015-06-05 16:30

浏览 3330

评论

java类中的static块_java类中static代码块的执行次数相关推荐

  1. java静态代码块和静态变量_Java中的静态变量、静态方法与静态代码块

    我们知道类的生命周期分为装载.连接.初始化.使用和卸载的五个过程. 其中静态代码在类的初始化阶段被初始化.而非静态代码则在类的使用阶段(也就是实例化一个类的时候)才会被初始化. 静态变量 可以将静态变 ...

  2. java static关键字_Java基础:static关键字作用总结

    前言 之前讲到final关键字的作用是每次面试的时候我必问求职者的两个问题之一,另外一个问题就是文本会写到的static.final和static一样,都是一个小问题可以看到一个人的基础是否扎实以及平 ...

  3. java gui构造工具_Java Web框架 静态代码块、构造代码块、构造函数、普通代码块 执行顺序 Decompiler JD-GUI 反编译工具...

    1.下载jd-gui-windows-1.4.0. http://jd.benow.ca/ 2.通过jd-gui.exe查看.class文件,用于分析类编译过程. 3.源文件. // 加载相应的 He ...

  4. 静态代码块、构造代码块、构造函数、普通代码块的区别

    本文转自:IT可乐的博客 在Java中,静态代码块.构造代码块.构造函数.普通代码块的执行顺序是一个笔试的考点,通过这篇文章希望大家能彻底了解它们之间的执行顺序. 1.静态代码块 ①.格式 在java ...

  5. 构造代码块,初始代码块和静态代码块的执行顺序

    先看结果! 静态代码块static{} -> 父类构造 -> 初始代码块{} -> 子类构造 // 静态代码块只在第一次实例化类的时候执行一次,再次实例化的时候不再执行 packag ...

  6. 父类静态代码块、非静态代码块、构造方法、子类静态代码块、子类非静态代码块、子类构造方法执行顺序

    父类 public class Father {static{System.out.println("父类静态代码块");}{System.out.println("父类 ...

  7. java里类包含对象对不对_Java类中的对象

    当创建一个类时,需要创建一种新的数据类型.获得类的对象的过程包含两个步骤.首先,必须声明该类类型的一个变量,这种声明只是一种简单声明,对计算机来讲,并没有实际的物理含义:然后,需要创建一个对象的实际物 ...

  8. java平台类成员访问修饰符_JAVA类的修饰符及访问权限

    1.类 外部类      class前的修饰符只能有public final abstrct 无(默认) :同包可见  (Eclipse中选择package) 内部类      class前的修饰符有 ...

  9. java创建两个foo方法_Java类实例化原理 - osc_foo7glsg的个人空间 - OSCHINA - 中文开源技术交流社区...

    Java对象的创建过程包括类初始化(类实例化两个阶段. 一.Java对象创建时机 (1)使用new关键字创建对象 (2)反射创建对象 使用Class类的newInstance方法 Student st ...

最新文章

  1. AI 芯片和传统芯片的区别
  2. 新思路等级考二级c语言题答案,2017计算机二级C语言考试强化习题及答案
  3. 基于角色的权限管理数据库设计(RBAC)
  4. Unity3D_(游戏)2D坦克大战 像素版
  5. Strus2中关于ValueStack详解
  6. 这群程序员疯了!他们想成为IT界最会带货的男人
  7. 怎么用jquery实现全选_经济薄弱,该怎么实现花园梦?用这些替代物降低养花成本...
  8. 【“达观杯”冠军分享】预训练模型彻底改变了NLP,但也不能忽略传统方法带来的提升...
  9. word2016+endnoteX7的安装与配置
  10. java io 和nio 区别_java IO和NIO区别
  11. JDK版本切换——JDK1.1.1
  12. 杭州市直职称计算机考点地址,杭州中级会计考试地点在哪里
  13. 学法医的写代码,学刑侦的做运营……原来阿里人读过那些奇葩专业!
  14. sqrt( )平方根计算函数
  15. 语音合成工具Coqui TTS安装及体验
  16. 【渝粤教育】国家开放大学2018年春季 3894T理工英语1 参考试题
  17. 分析了网易云数十万歌单后写出2020年的最全歌单推荐
  18. 【小程序】组件形式 引入第三方图标iconfont
  19. 【 零 】 Java 随 笔 ( 2 月 9 日 更 新 ---- 贪 吃 蛇 雏 形 )
  20. Java实验7《字符串和文本I/O 》

热门文章

  1. 基于matlab的光伏电池通用数学模型,基于MATLAB的光伏电池通用数学模型.doc
  2. python曲线图数据爬取_python爬取二手房库存,存数数据库,生成折线图(上)
  3. 记录一次多线程与Map.keySet() 出现的“并发”问题
  4. 使用Intellij Idea自定义MVC框架
  5. bzoj 4094: [Usaco2013 Dec]Optimal Milking
  6. FrameWork数据权限浅析4之基于多维度配置表实现行级数据安全
  7. MySQL replication illegal mix of collations
  8. 2014.4.21 福州 晴 离京第一次面试(某天) 失败啊
  9. SetWindowLong代码设置窗体borderStyle风格 TOOLWINDOW
  10. asp.net的10个提升性能或扩展性的秘密(二)