• java/android 做题中整理的碎片小贴士(19)


    1、实例化泛型对象时记得要指出类型变量的具体类型。JVM理解泛型的逻辑是类型擦除,JVM虚拟机本身不知道也不能理解泛型,所有泛型在编译阶段都会被处理成普通类和方法。

    2、bootstrap classloader 引导类加载器,加载java核心类;

    extension classloader 扩展类加载器,加载JRE的扩展目录中的jar包;

    system classloader 系统类加载器,在JVM启动时加载来自java命令中-classpath或java.class.path 系统属性,或CLASSPATH*作为系统属性所指定的jar包、类路径。

    3、System是java.lang中的一个类,out是System中的一个成员变量,它是一个java.io.PrintSystem类的对象,println()是一个方法。

    4、final 定义的变量,可以不在定义时初始化,也可以在构造方法中初始化,但使用前需是要初始化了的。

    5、static方法不能被子类重写,子类如果写了同名方法只能将父类的隐藏。Father f = new son()这种生明父类实例化为子类的方式,调用的静态方法、静态非静态域,都还是父类的。所以多态仅体现在非静态方法上吧。

    6、接口可以用abstract修饰(虽然接口本身是抽象的),但不能用final(用了之后内部的方法无法再重写)。

    7、volatile修饰的变量不会造成阻塞,不可用作多线程环境下的计数器。

    8、子类能继承父类的所有成员,不能调用private以及声明父类实例化为子类的是另一码事。

    9、

    public class NameList
    {
        private List names = new ArrayList();
        public synchronized void add(String name)
        {
            names.add(name);
        }
        public synchronized void printAll()     {
            for (int i = 0; i < names.size(); i++)
            {
                System.out.print(names.get(i) + ””);
            }
        }
     
        public static void main(String[]args)
        {
            final NameList sl = new NameList();
            for (int i = 0; i < 2; i++)
            {
                new Thread()
                {
                    public void run()
                    {
                        sl.add(“A”);
                        sl.add(“B”);
                        sl.add(“C”);
                        sl.printAll();
                    }
                } .start();
            }
        }
    }
    

      ①"ABCABCABC"、②"ABCAABCABC"这些输出都是可能的。

    因为在一个线程内是顺序执行,字母是按abc的顺序输出。①是线程1完全执行完毕之后到线程2执行;②是线程1把字母存好了,最后一句没执行,然后线程2把'A'放进去了,又给线程1执行打印,至此执行完毕,交给线程2执行余下部分。

  • 相关阅读:
    LinqToXML~读XML文件
    C#~使用FileSystemWatcher来监视文件系统的变化
    HDU4144:Bacon's Cipher
    国产手机的路还很长
    同一个存储过程中,不能多次select into 到同一张表的问题
    IT行业为什么没有进度
    IOT(Index Organized Table)
    模版——容器,迭代器
    shell split分析日志文件
    VMware vSphere 服务器虚拟化之十七 桌面虚拟化之安装View链接服务器
  • 原文地址:https://www.cnblogs.com/jason31/p/9770856.html
Copyright © 2020-2023  润新知