java静态成员静态代码块初始化顺序
最近写一个配置类打算配置文件的信息 用一个配置类的静态成员保存,所以在静态代码块里读取配置文件。考虑类 加载 后 类静态成员变量与类静态代码块的执行顺序问题。 如果静态代码块先实行 而类的 静态成员变量未执行。那 在静态成员变量初始化之前 就向静态成员变量赋值是不是会出 问题。
经测试 非实例对象 执行的顺序 是 类加载 首先初始化 类静态成员变量 类静态代码块 ,静态方法是调用的时候执行。
package com.yjm.ldapdao;
import java.io.IOException;
import java.util.Properties;
import org.apache.log4j.Logger;
public class LdapConf {
public LdapConf() {
}
public static Logger logger= Logger.getLogger(LdapConf.class);
public static String host="test";
public static String port;
public static String username;
public static String password;
public static Properties properties;
static {
properties = new Properties();
try {
properties.load(LdapConf.class
.getResourceAsStream("info.properties"));
host=properties.getProperty("host");
System.out.println(host);
} catch (IOException e) {
e.printStackTrace();
}
}
public static void test(){
host="sdfg";
System.out.println(host);
}
public static void main(String[] args) {
System.out.println(host);
}
}
结果:
172.16.0.171
172.16.0.171
转载于:https://blog.51cto.com/yjm199/1550418
java静态成员静态代码块初始化顺序相关推荐
- 【Java基础】Java中类的初始化过程:(静态成员变量,静态代码块,普通成员变量,代码块初始化顺序)
初始化过程是这样的: 1.首先,初始化父类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化: 2.然后,初始化子类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化: 3.其次,初始 ...
- day9 java的静态代码块和代码执行顺序
静态代码块 代码执行顺序 对于静态,不管是变量还是代码块.都是自上而下的.
- java中静态代码块的用法 static用法详解(转)
(一)java 静态代码块 静态方法区别 一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程 ...
- java中静态代码块的用法 static用法详解
(一)java 静态代码块 静态方法区别 一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程 ...
- 【java】静态代码块
静态代码块 格式: static { 静态代码块中的执行语句 } 特点: 随着类的加载而执行,只执行一次,用于给类进行初始化,并优先于主函数执行 考虑如下java语句 class StaticCode ...
- Java 中静态代码块 static的作用及用法
java静态代码块的作用: Java静态代码块中的代码会在类加载JVM时运行,且只被执行一次,也就是说这些代码不需要实例化类就能够被调用.一般情况下,如果有些代码必须在项目启动的时候就执行的时候,就需 ...
- Java中静态代码块
静态代码块的特点:随着类的加载而执行,而且只执行一次.静态代码块的执行优先级高于非静态的初始化块,它会在类初始化的时候执行一次,执行完成便销毁,它仅能初始化类变量,即static修饰的数据成员. 静态 ...
- java中静态代码块详解
参考博客:https://blog.csdn.net/qq_36792191/article/details/103988565 1.静态代码块基本知识 **(1)静态代码块:**执行优先级高于非静态 ...
- Java static 静态代码块、代码块
简述 static{} 静态代码块,加载类之前执行 {} 代码块,每次new的时候都会被执行 示例 类: public class Student {int age;String name;boole ...
- 【Java】静态代码块和非静态代码块什么时候执行?
静态代码块和非静态代码块什么时候执行? 静态代码块随着类的加载而加载,非静态代码块随着对象的加载而加载 所以静态代码块再调用类的时候执行.非静态代码块创建对象时或者通过反射获取其类信息的时候执行
最新文章
- 判断一个偶数(大于4)是不是两个素数之和
- 解决WINDOWS 7中显示摄像头的简易方法
- 职场白骨精必看的五个寓言
- 重构之以委托取代继承
- char *s 与 char s[ ]的区别
- 深度学习与计算机视觉教程(2) | 图像分类与机器学习基础(CV通关指南·完结)
- Android开发网上的一些重要知识点[经验分享]
- ecu故障现象_案例-报ECU系统软件重置故障处理方案
- 计算机操作上机考试题目,计算机系统操作工上机操作考试题.pdf
- 4G工业路由器防静电保护
- python爬虫之创建表格
- 初中级程序员进阶高级程序员,必须要了解的设计模式(45种设计模式)
- 网址二维码:如何制作网页链接二维码?
- 从事电商Java后端一年的思考与总结
- 如何隐藏控制台程序的窗口
- 阿里员工离职换来一条血泪教训:以为当小白兔很安全,是你对职场最大的误解
- Visual Studio 2019 C语言程序(VS2019 C语言)
- 均值滤波器类型_图像处理基础(3):均值滤波器及其变种
- python数据科学实践 常象宇_python数据科学
- GIS数据下载,全国省市县乡行政区划分
热门文章
- textbox 下拉模糊查询ajax,Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中...
- 虚拟服务器怎么安装网站,虚拟主机如何安装网站个人博客(WordPress)
- unsatisfied condition: __STDC_VERSION__ = 201112L
- 编译OpenJDK12:可以用VS2010到VS2017
- 股东其实对公司情况一无所知,唯一办法是追责
- 根据眼睛焦点分级绘制3D效果的设想
- deepstream-app源码没有公开,预计3.0可能公开
- 上海项目危机经历与感想
- linux命令行关机 密码,[ Linux 基本命令 001 ] 登陆,登出,重启,关机
- ubuntu修改登陆用户名称_MySQL对于相同名称用户但host不同的登陆选择