Java面试思路

一、javaSE基础

1、java IO流

2、java NIO

3、java集合

4、java注解

5、java泛型

6、java反射

7、java多线程

8、常用String、数组、日期操作

二、java虚拟机

1、jvm内存模型

  参考自:https://www.cnblogs.com/dingyingsi/p/3760447.html
  计算机由于磁盘远远跟不上cpu的读写速度,所以设计了内存。但是随着cpu的速度越来越快,内存也跟不上cpu的读写速度了。于是cpu厂商就为cpu加上了高速缓存,每个cpu都自带一个高速缓存。这样,在多处理器系统中,每个处理器有自己的高速缓存,又共享同一块内存(主存)。于是引入了新的问题:缓存一致性问题。当多个处理器同时处理同一块内存时,就会出现数据不一致的现象。必须通过一定的协议保证数据一致性。

  java虚拟机内存模型定义的访问操作与物理计算机基本一致。java中通过多线程机制使得多个任务同时执行处理。所有线程共享jvm内存区域,而每个线程又单独有各自的工作内存。当线程与内存区域交互时,数据从主存拷贝到工作内存,进而交由线程处理。处理之后,再回写到主存中。

  jvm内存模型分为:
  程序计数器:字节码解释器工作时用到的行号指示器。线程私有。
  虚拟机栈:
  本地方法栈:
  java堆:
  方法区:
  运行时常量池:

2、java类加载机制

3、垃圾回收机制

三、框架类

1、Sping特性及原理

2、SpringMvc代码执行流程

3、Mybatis与Hibernate比较

4、spingboot特点及原理

5、SpringCloud各组件及原理

四、分布式

五、设计模式

六、排序算法

posted @ 2019-05-22 22:06  shishaolong  阅读(356)  评论(0编辑  收藏  举报