
java面试问题集
文章平均质量分 57
小树ぅ
放弃不难 但坚持一定很酷!
展开
-
【面试问题】操作系统---2021面试题汇总 万字总结、分四个部分进行编写、妈妈再也不用担心面试官问我操作系统了
多线程---2021面试题汇总传送门:多线程--2021面试题汇总(3万字总结、解决你对多线程的困扰)目录第一部分:操作系统基础1.可以给我讲一下什么是操作系统吗?2.操作系统的特征是什么?3.操作系统系统中有哪两种程序,cpu有几种状态,分别描述一下?4.内核态的内容?5.可以介绍一下什么是系统调用嘛?第二部分:进程管理1.进程和线程的区别是什么?2.进程的状态有哪些,他们之间如何进行切换?3.进程间的通信方式有哪些?可以详细讲述一下吗?4.线..原创 2021-09-08 23:37:19 · 908 阅读 · 0 评论 -
【面试问题】多线程---2021面试题汇总 2万字含泪大总结
前言:这篇文化章中引用了蛮多github上javaGuide的内容,当然也有很多我自己总结的面试问题,在自己总结的同时也希望帮助到别的小伙伴!javaGuide链接:github地址目录第一部分:多线程基础1.线程和进程的区别?2.线程都有哪些状态 ?3.为什么使用多线程?4.等待态和阻塞态的区别是什么?5.实现多线程的方式有哪些?6.并发和并行的区别?7.多线程带来的问题?8.什么是上下文切换?9.如何减少上下文切换?10.多线程三要素?11.Con原创 2021-08-31 19:23:17 · 975 阅读 · 1 评论 -
多线程的3个特性
1.原子性 JAVA的原子性就和数据库事务的原子性差不多,即一个操作或者多个操作,要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。在JAVA中,对基本数据类型的变量的读取和赋值操作是原子性操作,即这些操作是不可被中断的,要么执行,要么不执行。JAVA内存模型(JMM)只是保证了基本的原子性,有些操作看似是原子操作,其实不然,举个栗子:x = 10; //语句1y = x; //语句2x++; //语句3x = x + 1; //语句4以上4个语句哪个是原子性操作呢?..原创 2021-03-13 16:58:39 · 187 阅读 · 0 评论 -
【多线程】进程和线程的区别
1、进程是资源分配的最小单位,线程是程序执行的最小单位(资源调度的最小单位)2、进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段,这种操作非常昂贵。而线程是共享进程中的数据的,使用相同的地址空间,因此CPU切换一个线程的花费远比进程要小很多,同时创建一个线程的开销也比进程要小很多。3、线程之间的通信更方便,同一进程下的线程共享全局变量、静态变量等数据,而进程之间的通信需要以通信的方式(IPC)进行。不过如何处理好同步与互斥是编写多线程程序的原创 2021-03-09 21:02:21 · 802 阅读 · 0 评论 -
【多线程】多线程原子性:CAS以及ABA问题
CAS(Compare And Swap (Compare And Exchange)比较并交换):没有锁的状态下可以保证多个线程对某个值的更新 通常情况下为了保证安全,在一个线程对一个数值访问时要上锁,但是为了保证效率,CAS中是不上锁的。 列如: 现在有一个值为0,读取这个值,并且将其存在E中,则:E=0。然后对E进行递增运算,有计算结果设为V。E++后,设一个新的值为N(即:N=E++),这时去查看E,如果E还是为0,则表明没有其他的线程修改E,这时就将...原创 2021-03-09 20:56:01 · 269 阅读 · 0 评论 -
【Java基础】运行时异常和非运行时异常的区别
非运行异常: 非运行时异常也叫作编译时异常,如果不对这种异常进行捕获则无法编译,Java编译器要求程序员必须对这种异常catch,Java认为这种异常都是可以被修复的异常,所以Java程序要求显式处理这种异常。常见的非运行异常:io异常和sql异常。IOException、FileNotFoundExcetion 和SQLException运行时异常: 运行是一场是不用进行捕获的,当这种异常发生时,JVM会进行处理。值得一提的是这种异常是十分普遍的异常,如果对其捕获会影响代码的可读..原创 2021-02-20 16:30:05 · 2469 阅读 · 0 评论