
【捋羊毛】
网课学习
努力的阳光蓝孩
学习一时爽,一直学习一直爽
展开
-
【0403】32个Java 面试必考点 并发与多线程
一、问题 1、如何实现一个生产者与消费者模型? 锁、信号量、线程通信、阻塞队列 2、如何理解线程的同步与异步、阻塞与非阻塞? 3、线程池处理任务的流程是则么样的? 4、wait 与sleep 有什么区别? A) wait 属于Object 类, sleep 属于Thread 类 B) wiat 会释放锁对象,而sleep 不会 C) 使用的位置不同,wait 需要子啊同步块中使用,sleep 可以子啊任意地方 D) sleep 需要捕获异常,而wait 不需要。 5、Synchroniz原创 2020-10-11 23:38:35 · 135 阅读 · 0 评论 -
【0202】32个Java 面试必考点 操作系统与计算机网络
一、计算机网络(服务之间通过不同的网络协议进行交互) 1、理解网络四/七层模型 2、学习Http 、TCP、UDP 协议 3、TCP的报文状态标志与链接状态,在排查网络问题时非常重要,必须要明白协议状态,才方便抓包分析。 4、Nagel算法和 ACK延迟的产生背景,了解解决小包问题,提高数据载荷比。知道对于延迟比较敏感且发送数据频率较低的场景可以关闭Nagel算法。 5、关于TCP的Keepalive,是一种长时间没有数据发送的场景下,TCP保持链接可用的机制,知道TCP Keepalive的开启和设置原创 2020-10-10 09:11:58 · 228 阅读 · 0 评论 -
【0201】32个Java 面试必考点 操作系统与计算机网络
一、操作系统 操作系统知识对于服务问题的排查定位十分重要 二、进程与线程 1、首先需要掌握进程与线程的区别和联系: A) 进程是系统资源分配的最小单位,线程是程序执行的最小单位; B) 进程使用独立的数据空间,而线程共享进程的数据空间。 2、线程调度:如时间片轮转调度、先来先服务调度、优先级调度、多级反馈队列调度以及高响应比优先调度。 3、线程切换的步骤:线程的上下文切换,明白线程切换的代价。 4、进程间通信(IPC) 6 种进程通信方式的原理与适用场景。例如,进程间数据共享的场景可以使用共享原创 2020-10-10 09:10:40 · 175 阅读 · 0 评论 -
【0303】 学32Java 面试必考点 分代回收
一、为是么需要分代管理 1、分代管理主要是为了方便垃圾回收。 2、大部分对象很快就不再使用; 3、一部分不会立即无用,但也不会持续很长时间。 二、分代划分 虚拟机划分为年轻代、老年代、和永久代 1、年轻代 (存放新创建的对象) A) 年轻代分为 Eden 区和两个 Survivor 区。 B) 大部分对象在 Eden 区中生成。当 Eden 区满时,还存活的对象会在两个 Survivor 区交替保存, C) 达到一定次数的对象会晋升到老年代(15次)。 2、老年代(存放从年轻代晋升而来的,原创 2020-10-09 22:45:07 · 202 阅读 · 0 评论 -
【0304】 学32Java 面试必考点 JVM 总结
一、通过学习JVM 需要了解那些东西? 1、深入了解 JVM 的内存模型和 Java 的内存模型; 2、要了解类的加载过程,了解双亲委派机制; 3、要理解内存的可见性与 Java 内存模型对原子性、可见性、有序性的保证机制; 4、要了解常用的 GC 算法的特点、执行过程,和适用场景,例如 G1 适合对最大延迟有要求的场合,ZGC 适用于 64 位系统的大内存服务中; 5、要了解常用的 JVM 参数,明白对不同参数的调整会有怎样的影响,适用什么样的场景,例如垃圾回收的并发数、偏向锁设置等。 6、知道在编程时如原创 2020-10-09 22:43:14 · 162 阅读 · 0 评论 -
【0302】 学32Java 面试必考点 + 自己补充、整理 类加载机制
一、类加载图解 1、类加载机制 A) 类的加载指将编译好的 Class 类文件中的字节码读入内存中,将其放在方法区内并创建对应的 Class 对象。 B) 类的加载分为加载、链接、初始化,其中链接又包括验证、准备、解析三步。 二、类加载过程解释 1、加载 (文件=> 内存) 通过类的完全限定名查找此类字节码文件,并利用字节码文件创建一个 Class 对象。 2、验证 (类文件验证) A) 目的:确保 Class 文件符合当前虚拟机要求,不会危害虚拟机自身安全。 B) 主要包括四种:原创 2020-10-09 22:48:52 · 108 阅读 · 0 评论 -
【0301】 学32Java 面试必考点 + 自己补充、整理
一、JVM 知识汇总 二、JVM 内存模型 1、内存模型:程序计数器、方法区、堆、栈、本地方法栈的作用,保存哪些数据? 2、栈:方法栈,是线程私有的,线程在执行每个方法时都会同时创建一个栈帧,用来存储局部变量表、操作栈、动态链接、方法出口等信息。调用方法时执行入栈,方法返回时执行出栈。 3、本地方法栈:是用来保存线程执行方法时的信息,不同的是,执行 Java 方法使用栈,而执行 native 方法使用本地方法栈。 4、程序计数器保存着当前线程所执行的字节码位置,每个线程工作时都有一个独立的计数器。程序计原创 2020-10-09 09:23:20 · 175 阅读 · 0 评论