专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 各大互联网Java的面试题总结

各大互联网Java的面试题总结

更新时间:2021-05-14 16:34:00 来源:动力节点 浏览701次

ThreadLocal(线程变量副本)

Synchronized实现内存共享,ThreadLocal为每个线程维护一个本地变量。

采用空间换时间,它用于线程间的数据隔离,为每一个使用该变量的线程提供一个副本,每个线程都可以独立地改变自己的副本,而不会和其他线程的副本冲突。

ThreadLocal类中维护一个Map,用于存储每一个线程的变量副本,Map中元素的键为线程对象,而值为对应线程的变量副本。

ThreadLocal在Spring中发挥着巨大的作用,在管理Request作用域中的Bean、事务管理、任务调度、AOP等模块都出现了它的身影。

Spring中绝大部分Bean都可以声明成Singleton作用域,采用ThreadLocal进行封装,因此有状态的Bean就能够以singleton的方式在多线程中正常工作了。

Java内存模型:

Java虚拟机规范中将Java运行时数据分为六种。

1.程序计数器:是一个数据结构,用于保存当前正常执行的程序的内存地址。Java虚拟机的多线程就是通过线程轮流切换并分配处理器时间来实现的,为了线程切换后能恢复到正确的位置,每条线程都需要一个独立的程序计数器,互不影响,该区域为“线程私有”。

2.Java虚拟机栈:线程私有的,与线程生命周期相同,用于存储局部变量表,操作栈,方法返回值。局部变量表放着基本数据类型,还有对象的引用。

3.本地方法栈:跟虚拟机栈很像,不过它是为虚拟机使用到的Native方法服务。

4.Java堆:所有线程共享的一块内存区域,对象实例几乎都在这分配内存。

5.方法区:各个线程共享的区域,储存虚拟机加载的类信息,常量,静态变量,编译后的代码。

6.运行时常量池:代表运行时每个class文件中的常量表。包括几种常量:编译时的数字常量、方法或者域的引用。

happens-before:如果两个操作之间具有happens-before关系,那么前一个操作的结果就会对后面一个操作可见。

1.程序顺序规则:一个线程中的每个操作,happens-before于该线程中的任意后续操作。

2.监视器锁规则:对一个监视器锁的解锁,happens-before于随后对这个监视器锁的加锁。

3.volatile变量规则:对一个volatile域的写,happens-before于任意后续对这个volatile域的读。

4.传递性:如果A happens-before B,且B happens-before C,那么A happens-before C。

5.线程启动规则:Thread对象的start()方法happens-before于此线程的每一个动作。

线程池的作用:在程序启动的时候就创建若干线程来响应处理,它们被称为线程池,里面的线程叫工作线程

第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。

第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。

第三:提高线程的可管理性。

常用线程池:ExecutorService是主要的实现类,其中常用的有Executors.newSingleThreadPool(),newFixedThreadPool(),newcachedTheadPool(),newScheduledThreadPool()。

类加载器工作机制:

1.装载:将Java二进制代码导入jvm中,生成Class文件。

2.连接:a)校验:检查载入Class文件数据的正确性b)准备:给类的静态变量分配存储空间c)解析:将符号引用转成直接引用

3:初始化:对类的静态变量,静态方法和静态代码块执行初始化工作。

双亲委派模型:类加载器收到类加载请求,首先将请求委派给父类加载器完成用户自定义加载器->;应用程序加载器->;扩展类加载器->;启动类加载器。

SpringMVC运行原理

客户端请求提交到DispatcherServlet

由DispatcherServlet控制器查询HandlerMapping,找到并分发到指定的Controller中。

Controller调用业务逻辑处理后,返回ModelAndView

DispatcherServlet查询一个或多个ViewResoler视图解析器,找到ModelAndView指定的视图

视图负责将结果显示到客户端

以上就是动力节点小编介绍的"各大互联网Java的面试题总结",希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为您服务。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>