美文网首页
Java 小知识

Java 小知识

作者: 醉红尘_acb4 | 来源:发表于2021-03-02 14:46 被阅读0次

    static

    1、static修饰的变量和方法,在类加载时即被初始化,可直接通过类名.变量名和类型.方法名进行调用。
    2、static修饰的变量,在类加载时会被分配到数据区的方法区。类的实例可共享方法区中的变量。如果static修饰的变量发生改变,那么所有类实例引用的变量都会一起发生改变。
    3、static修饰的方法中不能使用this或super,static修饰的方法属于类的方法,而this或super只是对象的方法。
    4、static修饰的方法不能引用非static 修饰的变量, 在类加载过程中,当static修饰的方法加载完成时,非static修饰的变量
    还未加载,所以无法引用非static修饰的变量。
    5、非static修饰的方法可以引用static 修饰的变量,在类加载过程中,static修饰的变量优先完成加载,所以当非static修饰的方法
    完成加载后可以引用static 修饰的变量。

    synchronized

    能够保证在同一时刻最多只有一个线程执行该段代码,以达到保证并发安全的效果

    静态块(static{})

    (1) static关键字还有一个比较关键的作用,用来形成静态代码块(static{}(即static块))以优化程序性能。
    (2) static块可以置于类中的任何地方,类中可以有多个static块。
    (3) 在类初次被加载的时候执行且仅会被执行一次(这是优化性能的原因!!!),会按照static块的顺序来执行每个static块,一般用来初始化静态变量和调用静态方法。

    相关文章

      网友评论

          本文标题:Java 小知识

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