![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java面试问题集
文章平均质量分 57
小树ぅ
放弃不难 但坚持一定很酷!
展开
-
【面试问题】操作系统---2021面试题汇总 万字总结、分四个部分进行编写、妈妈再也不用担心面试官问我操作系统了
多线程---2021面试题汇总传送门: 多线程--2021面试题汇总(3万字总结、解决你对多线程的困扰) 目录 第一部分:操作系统基础 1.可以给我讲一下什么是操作系统吗? 2.操作系统的特征是什么? 3.操作系统系统中有哪两种程序,cpu有几种状态,分别描述一下? 4.内核态的内容? 5.可以介绍一下什么是系统调用嘛? 第二部分:进程管理 1.进程和线程的区别是什么? 2.进程的状态有哪些,他们之间如何进行切换? 3.进程间的通信方式有哪些?可以详细讲述一下吗? 4.线..原创 2021-09-08 23:37:19 · 379 阅读 · 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 · 331 阅读 · 1 评论 -
多线程的3个特性
1.原子性 JAVA的原子性就和数据库事务的原子性差不多,即一个操作或者多个操作,要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。在JAVA中,对基本数据类型的变量的读取和赋值操作是原子性操作,即这些操作是不可被中断的,要么执行,要么不执行。JAVA内存模型(JMM)只是保证了基本的原子性,有些操作看似是原子操作,其实不然,举个栗子: x = 10; //语句1 y = x; //语句2 x++; //语句3x = x + 1; //语句4 以上4个语句哪个是原子性操作呢?..原创 2021-03-13 16:58:39 · 119 阅读 · 0 评论 -
【多线程】进程和线程的区别
1、进程是资源分配的最小单位,线程是程序执行的最小单位(资源调度的最小单位) 2、进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段,这种操作非常昂贵。 而线程是共享进程中的数据的,使用相同的地址空间,因此CPU切换一个线程的花费远比进程要小很多,同时创建一个线程的开销也比进程要小很多。 3、线程之间的通信更方便,同一进程下的线程共享全局变量、静态变量等数据,而进程之间的通信需要以通信的方式(IPC)进行。不过如何处理好同步与互斥是编写多线程程序的原创 2021-03-09 21:02:21 · 748 阅读 · 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 · 214 阅读 · 0 评论 -
【Java基础】运行时异常和非运行时异常的区别
非运行异常: 非运行时异常也叫作编译时异常,如果不对这种异常进行捕获则无法编译,Java编译器要求程序员必须对这种异常catch,Java认为这种异常都是可以被修复的异常,所以Java程序要求显式处理这种异常。 常见的非运行异常:io异常和sql异常。 IOException、FileNotFoundExcetion 和SQLException 运行时异常: 运行是一场是不用进行捕获的,当这种异常发生时,JVM会进行处理。值得一提的是这种异常是十分普遍的异常,如果对其捕获会影响代码的可读..原创 2021-02-20 16:30:05 · 2360 阅读 · 0 评论