美文网首页
刷题遇到的知识点(三)

刷题遇到的知识点(三)

作者: ComputerBoy | 来源:发表于2017-10-23 21:44 被阅读0次

    Java致力于检查程序在编译和运行时的错误;

    Java虚拟机实现了跨平台接口;

    Java自己操纵内存,减少了内存出错的可能性;

    Java实现了真数组,避免了覆盖数据的可能性,和数据覆盖类型无关;

    copyOnWriteArrayList适合使用在读操作远远大于写操作的场景里面,比如缓存;

    ReadWriteLock当写操作时,其他线程无法读取写入数据而当读操作时,其他线程无法写入数据,但却可以读取数据,适用于读取远远大于写入的操作;

    JDK中提供了三个classLoader,根据层级从高到低:

    .Bookstrap ClassLoader 主要加载JVM自身工作需要的类;

    .Extension ClassLoader 主要加载%JAVA_HOME%\lib\ext目录下的库类;

    .Application ClassLoader,主要加载ClassPath指定的库类,一般情况下这是程序中的默认类加载器,也是ClassLoader.getSystemClassLoader()的返回值。(这里的classpath为环境变量中配置的classPath,当然也可以在执行Java命令时用-cp参数来修改)

    Java加载类的 实现方式,我们成为双亲委托模型:

    如果一个类加载器收到了类加载的请求,他首先不会自己尝试去加载这个类,而是把这个请求委托发送给父类加载器,每一层的加载器都是如此,最终传给Bookstrap ClassLoader;

    双亲委托模型主要是解决类载入过程中的安全性问题;

    相关文章

      网友评论

          本文标题:刷题遇到的知识点(三)

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