![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
八股
文章平均质量分 89
wayzinx
这个作者很懒,什么都没留下…
展开
-
操作系统八股
可以这么说,内核是一个计算机程序,它是操作系统的核心,提供了操作系统最核心的能力,可以控制操作系统中所有的内容。内核空间,这个内存空间只有内核程序可以访问;⽤户空间,这个内存空间专⻔给应⽤程序使⽤,权限比较小;⽤户空间的代码只能访问⼀个局部的内存空间,⽽内核空间的代码可以访问所有内存空间。因此,当程序使⽤⽤户空间时,我们常说该程序在⽤户态执⾏,⽽当程序使内核空间时,程序则在内核态执⾏。对于单核单线程 CPU 而言,在某一时刻只能执行一条 CPU 指令。转载 2024-03-19 16:47:21 · 27 阅读 · 0 评论 -
计算机网络
为什么不能是两次?为了防止服务器端开启一些无用的连接增加服务器开销防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。由于网络传输是有延时的(要通过网络光纤和各种中间代理服务器),在传输的过程中,比如客户端发起了 SYN=1 的第一次握手。如果服务器端就直接创建了这个连接并返回包含 SYN、ACK 和 Seq 等内容的数据包给客户端,这个数据包因为网络传输的原因丢失了,丢失之后客户端就一直没有接收到服务器返回的数据包。转载 2024-03-19 15:54:14 · 40 阅读 · 0 评论 -
JVM虚拟机
内存分配有两种方式,指针碰撞,空闲列表指针碰撞:假设 Java 堆中内存是绝对规整的,所有被使用过的内存都被放在一边,空闲的内存被放在另一边,中间放着一个指针作为分界点的指示器,那所分配内存就仅仅是把那个指针向空闲空间方向挪动一段与对象大小相等的距离,这种分配方式称为“指针碰撞”。转载 2024-03-18 22:12:24 · 20 阅读 · 0 评论 -
JUC并发编程
进程:进程是系统进行资源分配和调度的基本单位。线程:线程是进程的一个执行路径,一个进程中至少有一个线程,进程中的多个线程共享进程的资源。操作系统在分配资源时是把资源分配给进程的,但是cpu资源比较特殊,它是被分配到线程的,因为真正要占用cpu运行的事线程,所以也说线程事cpu分配的基本单位。例如在java中,当我们启动main方法其实就启动了一个jvm进程,而main方法在的线程就是这个进程中的一个线程,也称主线程。转载 2024-03-18 16:41:22 · 26 阅读 · 0 评论 -
Synchronized锁升级
无锁-->偏向锁-->轻量级锁-->重量级锁什么是偏向锁,轻量级锁,重量级锁为什么要设计锁升级Synchronized是提供了锁的公平性吗?Synchronized锁标记怎么存储的?重量级锁为什么称为重量级锁?原创 2024-02-26 20:56:58 · 292 阅读 · 1 评论 -
CAS和AQS知识理解
CAS算法的作用:解决多线程条件下使用锁造成性能损耗问题的算法,保证了原子性,这个原子操作是由CPU来完成的CAS的原理:CAS算法有三个操作数,通过内存中的值(V)、预期原始值(A)、修改后的新值。(1)如果内存中的值和预期原始值相等, 就将修改后的新值保存到内存中。(2)如果内存中的值和预期原始值不相等,说明共享数据已经被修改,放弃已经所做的操作,然后重新执行刚才的操作,直到重试成功。原创 2024-02-29 20:08:14 · 940 阅读 · 0 评论 -
java垃圾回收
一个对象如果不再使用,需要手动释放,否则就会出现。我们称这种释放对象的过程为垃圾回收,而需要程序员编写代码进行回收的方式为。指的是不再使用的对象在系统中未被回收,内存泄漏的积累可能会导致内存溢出java中为了简化对象的释放,引入了。其他语言例如c#,python,go都拥有自己的垃圾回收器。原创 2024-02-29 21:24:38 · 929 阅读 · 0 评论 -
RabbitMq
1、每个消费者监听自己的队列。2、生产者将消息发给broker,由交换机将消息转发到绑定此交换机的每个队列,每个绑定交换机的队列都将接收到消息publish/subscribe与work queues有什么区别。1)work queues不用定义交换机,而publish/subscribe需要定义交换机。2)publish/subscribe的生产方是面向交换机发送消息,work queues的生产方是面向队列发送消息(底层使用默认交换机)。原创 2024-02-29 21:55:38 · 969 阅读 · 0 评论 -
Spring框架学习
Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE应用程序开发提供继承的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。Spring的核心是IOC(控制反转)和AOP(面向切面)。Spring是一个分层的JavaSE/EE full-stack(一站式)轻量级开源框架。轻量级:对比EJB,以来资源少,销毁的资源少一站式:每一个层都提供的解决方案。原创 2024-03-02 00:12:14 · 1009 阅读 · 0 评论 -
Java集合框架
1.说说有哪些常见的集合?集合相关类和接口都在java.util中,主要分为3种:List(列表),Map(映射),Set(集)其中Collection是集合ListSetListSetMap是另外的接口,是键值对映射结构的集合。转载 2024-03-18 13:31:11 · 475 阅读 · 0 评论 -
Java SE
字节码是java程序经过编译产生的.class文件,字节码能够被虚拟机识别,从而实现java程序的跨平台。java程序从源代码到运行主要有三步:1.编译:将代码从.java编译成.class2.解释:虚拟机执行.class,将其翻译成机器能识别的机器码3.执行,对应的机器执行二进制机器码6.为什么说java语言编译与解释共存?高级编程语言执行方式分为编译型和解释型。java语言既具有编译型语言的特征也有解释型语言的特征,因为java程序要先经过编译,后经过解释两个步骤。原创 2024-03-18 13:18:57 · 1635 阅读 · 0 评论