美文网首页
Java面试——Java

Java面试——Java

作者: 抬头挺胸才算活着 | 来源:发表于2020-03-12 11:57 被阅读0次

    参考资料:
    [1]. Java三种代理模式:静态代理、动态代理和cglib代理
    [2]. AQS简简单单过一遍

    描述下java集合,项目中用到哪些。

    ConcurrentHashMap原理

    Concurrenthashmap线程安全的,1.7是在jdk1.7中采用Segment + HashEntry的方式进行实现的,lock加在Segment上面。1.7size计算是先采用不加锁的方式,连续计算元素的个数,最多计算3次:1、如果前后两次计算结果相同,则说明计算出来的元素个数是准确的;2、如果前后两次计算结果都不同,则给每个Segment进行加锁,再计算一次元素的个数;
    1.8中放弃了Segment臃肿的设计,取而代之的是采用Node + CAS + Synchronized来保证并发安全进行实现,1.8中使用一个volatile类型的变量baseCount记录元素的个数,当插入新数据或则删除数据时,会通过addCount()方法更新baseCount,通过累加baseCount和CounterCell数组中的数量,即可得到元素的总个数;

    访问修饰符public,private,protected,以及不不写(默认)时的区别?

    静态变量存在什么位置

    方法区

    1. java 容器都有哪些?
      常用容器的图录:


    权限

    首先明白两个概念,子类是要比包的范围更广,其次default是比较隐私的,默认只能在同一个包内获取,不管是不是子类继承。


    相关文章

      网友评论

          本文标题:Java面试——Java

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