zoukankan      html  css  js  c++  java
  • java静态属性初始化注意

    1.非静态类包含静态属性时,初始化:
      如果静态属性被初始化一个非静态对象,系统启动时就会报错!
      (应为初始化静态属性的类还没加载)
      案例:
    public class XXX
    {
       
        private static Config config = Config.getInstance();
     
        private static String port = config.getPort();
       
        。。。。

    这里错误了使用非静态类型去实例化静态变量;导致现象很怪异:会报出spring的配置文件不能实例化其他bean。因为Config的getInstance()不是静态的

    改进方法:系统启动完成后,在第一个要执行的方法中,初始化静态变量

    public void contextInitialized(ServletContextEvent e)
        {
            // 系统的参数初始化
            Config.getInstance().init();
           
            static Config config = Config.getInstance();
     
            static String port = config.getPort();

    总结:凡是涉及到静态变量的初始化(使用类赋初始值),最好在系统启动完成后,在第一个要执行的方法中进行初始化。

  • 相关阅读:
    MySQL正则表达式 REGEXP详解
    INSERT DELAYED 句法
    mysql查询语句分析 explain用法
    mysql导出导入
    sf04_操作系统中 heap 和 stack 的区别
    2.4 Rust Ownership
    2.1 GO 变量定义
    1.3 IDAE 中使用GO开发项目
    my30_表碎片整理
    my29_PXC集群状态查看
  • 原文地址:https://www.cnblogs.com/qqzy168/p/3135372.html
Copyright © 2011-2022 走看看