• java面试复习 I


    1 多线程

    在程序开发中只要是多线程肯定永远以实现Runnable接口为主,因为实现Runnable接口相比继承Thread类有如下好处:

    • 避免点继承的局限,一个类可以继承多个接口。
    • 适合于资源的共享。

    2 线程的四个状态

    1. 新状态:线程已被创建但尚未执行(start() 尚未被调用)。
          2. 可执行状态:线程可以执行,虽然不一定正在执行。CPU 时间随时可能被分配给该线程,从而使得它执行。
          3. 死亡状态:正常情况下 run() 返回使得线程死亡。调用 stop()或 destroy() 亦有同样效果,但是不被推荐,前者会产生异常,后者是强制终止,不会释放锁。
         4. 阻塞状态:线程不会被分配 CPU 时间,无法执行。

    sleep 未放弃锁,wait 放弃锁,需要使用notify才能获得锁。

    join是 这个线程执行完了,再执行其他的。

    3 string,stringbuffer

    String是长度不可变的,StringBuffer和StringBuilder长度都是可以变化的。StringBuffer是线程安全的,StringBuilder不是线程安全的 .StringBuilder 是1.5开始的,建议优先选用它

    4  匿名内部类

        匿名内部类是在new 对象的时候在后面接 大括号,实现方法。如

        

    interface Person {
        public void eat();
    }
     
    public class Demo {
        public static void main(String[] args) {
            Person p = new Person() {
                public void eat() {
                    System.out.println("eat something");
                }
            };
            p.eat();
        }
    }

    主要用在多线程处理上。参考文档:http://www.cnblogs.com/nerxious/archive/2013/01/25/2876489.html
     

    5  内部类

     

    1 访问形式

    class Out {
        private int age = 12;
         
        class In {
            private int age = 13;
            public void print() {
                int age = 14;
                System.out.println("局部变量:" + age);
                System.out.println("内部类变量:" + this.age);
                System.out.println("外部类变量:" + Out.this.age);
            }
        }
    }
     
    public class Demo {
        public static void main(String[] args) {
            Out.In in = new Out().new In();
            in.print();
        }
    }
    

    2 静态内部类

    只能访问外部类的静态变量。

    因为内部类被静态化,因此Out.In可以当做一个整体看

    3 私有内部类

    只有外部类可控制,访问


     

     

  • 相关阅读:
    MySQL 一次非常有意思的SQL优化经历:从30248.271s到0.001s
    Oracle 11g 自动收集统计信息
    C# 获取当前方法的名称空间、类名和方法名称
    C# 数值的隐式转换
    C# using 三种使用方式
    C#、Unity 数据类型的默认值
    Unity for VsCode
    C# Lambda
    git push以后GitHub上文件夹灰色 不可点击
    C#保留小数
  • 原文地址:https://www.cnblogs.com/brucetie/p/3556316.html
Copyright © 2020-2023  润新知