美文网首页
如何判断接口是否被初始化

如何判断接口是否被初始化

作者: 编码之路从零开始 | 来源:发表于2019-07-10 11:41 被阅读0次
public interface IDao {

    Thread thead = new Thread(){
        {
            System.err.println("IUserDao is init");
        }
    };
}

{ }static{ } 对比
{ }包括的代码块,会在每次实例化对象的时候执行一次
而被static{ }包括的代码块,会在类初始化的时候执行一次

根据java语言的特性,

  1. 接口中的变量默认添加了public static final
  2. 接口中的方法默认添加了public abstract

java语言中abstractstaticfinal 是不能共存的

有了以上两点作为前提,再根据 常量传播优化 所以只要IDao 接口被初始化,就会执行输出语句。

常量传播优化:被 static final 关键字修饰的变量(也就是可以确定值且该值不会再运行期间改变的变量,比如不包括UUID)会在编译期间将该变量初始化并存储到引用该变量的类的常量池中。

相关文章

  • 如何判断接口是否被初始化

    { } 和 static{ } 对比被{ }包括的代码块,会在每次实例化对象的时候执行一次而被static{ }包...

  • iOS 启动广告

    思路1.判断广告文件是否存在,以及初始化广告位2.无论沙盒中是否存在广告图片,都需要重新调用获取广告接口,判断广告...

  • iOS 启动页广告

    思路1.判断广告文件是否存在,以及初始化广告位2.无论沙盒中是否存在广告图片,都需要重新调用获取广告接口,判断广告...

  • postman使用

    1.如何判断接口是否请求成功 2.如何进行接口批量、定期测试 3.如何处理依赖接口问题(比如商品下单的接口必须要求...

  • java如何判断一个类是否实现了某个接口?对象是否为一个类的实例

    //java如何判断一个类是否实现了某个接口?对象是否为一个类的实例? //1 java如何判断一个类是否实现了某...

  • Postman验证接口响应结果

    使用Postman进行接口测试时,如何对接口响应的结果进行校验呢。判断接口返回的实际结果是否符合预期结果,需要使用...

  • Shell(五)

    shell 的变量 对比区别: 除了反引号之外,还可以使用()对变量进行赋值。 判断变量是否被初始化

  • Go判断接口是否全部实现

    判断BaseApplication 是否实现了Application 全部等接口 在这里下划线用来判断结构体是否实...

  • 设计模式之单例设计模式

    饿汉式 在静态代码块中直接加载进jvm;缺点:一开始就会被加载进来。 懒汉式 在初始化时判断是否已经被初始化缺陷:...

  • 如何判断你是否被PUA

    PUA原指“搭讪艺术家”,即一种不健康的,诱骗型的泡妞方法。在某钓凯子培训机构“泡学网”被曝光之前,国内PUA的系...

网友评论

      本文标题:如何判断接口是否被初始化

      本文链接:https://www.haomeiwen.com/subject/kqbckctx.html