zoukankan      html  css  js  c++  java
  • JVM

     

    JVM的内存模型

    JVM内存模型常考吧,我面了几家都问了。

    1. 线程私有:虚拟机栈,程序计数器,本地方法栈
    2. 线程共享:堆,方法区(JDK1.8之后改为位于直接内存的元空间)
    3. 直接内存

    JVM的GC了解多少

    我主要从触发GC方面回答的:

    MinorGC: new出的对象一般进入到堆空间的新生代的Eden区(对象很大会直接放入老年代),如果此时Eden区已满,触发一次MinorGC,将Eden存活的对象连同ServivorFrom区存活的对象一同复制到ServivorTo区,ServivorFrom和ServivorTo区互换,存活下来的对象年龄+1。

    MajorGC: 默认情况下,如果此时有对象年龄达到15,将晋身到老年代,如果此时导致老年代空间不够,则会触发MajorGC,回收老年代的垃圾对象。

    没有说的太细节,例如MinorGC过程中,如果ServivorTo区空间不够,会直接放入老年区,年龄信息放在对象头部占用4位,所以最大只能是15。GC算法也没提   
     


    操作系统
    进程线程
    分页分段➕虚拟内存➕动态链接静态链接
    Linux内存布局  用户态内核态

    JVM
    如何判断一个对象死亡? 可达性算法三色图  增量更新   oopmap  卡片集
    类加载机制   双亲委派模型   解决问题
    synchronized  锁优化


    Java
    从aop到代理模式  静态代理 动态代理  cglib
    范型擦除
    interrupt方法乐观锁悲观锁

     

     
     

    • CAP 定理说一下,一般选择牺牲哪些特性?(CP, AP)
    • 手撕算法:LeetCode 160
    • 口撕算法:LeetCode 543
    • class,abstract class,interface 区别?
    • 类加载机制(双亲委派模型)

    • GC 大概说一说(说书环节……具体就是背诵《深入理解 Java 虚拟机》)
    • C/C++ 和 golang 了解过吗


      • 一面结束后很快就约了二面,在一面三个小时之后
      1. 自我介绍

      2. 聊项目,主要是 Kafka connect 相关,还提了一下项目中 Redis 的应用场景

      3. Redis 数据结构?

      4. Redis hash 数据结构说一下(提到类似 Java 1.7 的 HashMap)

      5. Java 1.8 之后的 HashMap 结构,为什么要这么设计?

      6. Redis list 底层是什么数据结构?

      7. Java int 和 Integer 区别?使用场景?

      8. final 关键字

      9. 并发编程有实践过吗?说一说乐观锁,Java 的乐观锁底层怎么实现的?

      10. Java 的异常体系(说了一下类/接口的继承结构,免检异常和受查异常的区别这些)

      11. 数据库索引(说了一下 InnoDB,聚簇索引,B+树,还有哈希索引)

      12. B+树索引和哈希索引的区别?

      13. 只走索引就查询到全部数据的这种叫什么?(覆盖索引)

  • 相关阅读:
    java实现机器人行走
    java实现机器人行走
    java实现机器人行走
    java实现机器人行走
    java实现机器人行走
    java实现购物券消费方案
    java实现购物券消费方案
    java实现购物券消费方案
    java实现购物券消费方案
    《技术垄断:文明向技术投降》
  • 原文地址:https://www.cnblogs.com/yulianggo/p/13444306.html
Copyright © 2011-2022 走看看